一、利用maven和eclipse快速启动一个jetty
1、在eclipse中构建一个quikstart类型的Maven项目
2、在pom.xml中添加配置文件,利用配置文件启动jetty的
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.12.v20160915</version>
</plugin>
</plugins>
</build>
3、run as -> maven build -> 命令:jetty:run
4、可以在pom.xml中指定自己的文本应用。
二、利用API方式启动一个jetty demo。
https://blog.csdn.net/z69183787/article/details/52996346#
三、利用eclipse构建自己的web应用。(该部分内容摘自:https://www.cnblogs.com/qbzf-Blog/p/6539161.html#maven1)
1、首先构建项目,这次选择版本的时候我们选择webapp:
建立好后的webapp项目,其目录结构是这样的:
这里的resources文件夹用于存放java文件、包、xml配置文件等等,与我们传统意义上的src文件夹是一致的。这里src下的webapp文件夹则等同于我们Web项目中的WebRoot或WebContent,一些页面和样式等文件放在这个目录下。
接下来看看pom文件:
先注意到我们这里的打包方式变为了war,web项目必需先编译打包,然后才能部署到web容器上运行。之后只需配置我们的jetty运行插件。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.edu</groupId>
<artifactId>mavenweb</artifactId>
<packaging>war</packaging>
<version>1.2.2-SNAPSHOT</version>
<name>mavenweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>mavenweb</finalName>
<plugins>
<!--这里用到jetty的插件,在官网中可以找到坐标-->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.1.v20170120</version>
</plugin>
</plugins>
</build>
</project>
先使用package命令进行打包,可以看到target中出现了我们webapp文件夹下的内容,以及打包好的war文件。
复制使用这个war文件也可完成部署。但我们这里使用jetty插件,在命令框中输入jetty:run命令,观察到
说明服务器启动完成。
接下来在浏览器使用localhost:8080即可看到我们的项目中的index.jsp
至此就完成了我们规范目录的web项目构建。
12.构建非规范目录的web项目
使用maven的web项目结构,可能会有少许的不习惯,或者我们要将以前开发的项目转为mavenweb项目的话,那要怎么办呢?这里就介绍下非规范目录的web项目要如何构建。
首先,这是我们的项目目录结构,java等文件还是放在main/java下,而页面等其他资源文件放在WebContent下:
看看pom文件中的配置方法:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.edu</groupId> <artifactId>mavenweb</artifactId> <packaging>war</packaging> <version>1.2.2-SNAPSHOT</version> <name>mavenweb Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>mavenweb</finalName> <!-- 资源集 --> <resources> <!-- 非规范资源文件目录打包 --> <resource> <!-- 指定资源存放的目录(必需,不写会报错),即resources目录的变更。以下配置中的的相对目录改为该目录 --> <directory>src/main/java</directory> <includes> <include>*.xml</include> </includes> <!-- 是否替换资源文件中的属性,如${username},替换为pom中指定的properties--> <filtering>false</filtering> </resource> </resources> <plugins> <!--这里使用到war plugin,同样的,详细介绍及坐标在官网中可以找到--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.0.0</version> <configuration> <!-- 指定web.xml的文件位置 --> <webXml>WebContent/WEB-INF/web.xml</webXml> <!-- war的源目录,由哪个文件夹打包成war文件,用于更改页面样式等的资源目录 --> <warSourceDirectory>WebContent</warSourceDirectory> </configuration> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.4.1.v20170120</version> </plugin> </plugins> </build> </project>
完成配置后,使用package命令进行打包。看到target中的打包结果,确实更改了来源目录并打包成功:
接下来使用jetty:run或jetty:deploy等运行命令即可成功运行项目。