您的位置:首页 > 其它

修改Maven默认骨架创建的web项目版本

2017-11-21 11:03 381 查看
   需要注意的是Maven自带骨架创建的web项目版本很低(2.3),一般会在创建后改为高版本(至少2.5,一般是3.0),也可以创建自己的骨架或者使用其他更好的骨架。

   
开发环境:

1.eclipse:Eclipse Java EE IDE for Web Developers.

2.JDK:1.8.0_131

3.Maven:3.5.2

    步骤:

1.使用命令行

输入命令:mvn archetype:generate

选择maven-archetype-webapp(这是maven默认的web骨架)。需要注意的是,使用mvn archetype:generate命令有可能会有上百个选项,此时再通过命令行创建默认骨架的web项目就不太明智了,因此可以通过在eclipse中创建默认骨架的web项目。

2.使用eclipse图形界面(假定你已经在eclipse中配置好了maven)

File->New->Maven Project

或者是

File->New->Other->Maven->Maven Project

如果没有该选项,选择Other,然后Maven->Maven Project,剩下步骤和命令行类似,只是记得选maven-archetype-webapp

到此为止,仅仅使用maven默认骨架创建了一个web项目。
在eclipse中右键刚才创建的web项目(如果你使用的是命令行创建,请先导入eclipse中),选择Properties->Project Facets,可以看到默认的版本很低,为2.3

3.修改默认的2.3为3.0
(1)首先替换默认骨架创建的web项目中的web.xml,替换为3.0版本(获得3.0版本的web.xml可以使用eclipse直接创建一个动态web项目即可得到,或者在网上搜,下面是使用eclipse创建的web3.0的web.xml代码)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>web3.0</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>


将使用maven创建的web项目中的web.xml使用上面代码替换掉
替换后应该和下面一样
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>


(2)修改配置文件
打开Navigator,Window->Show View->Navigator

.settings->org.eclipse.jdt.core.prefs

将所有值为1.5的地方改为1.8

.settings->org.eclipse.wst.common.component

将project-version="1.5.0"中的1.5.0修改为1.8.0

.settings->org.eclipse.wst.common.project.facet.core.xml

将java由1.5修改为 1.8,jst.web由2.3修改为3.0

到现在为止所有更改完成,返回查看,web版本应该变为了3.0
但是还有一个警告和一个错误
警告的原因是因为默认的web骨架使用的jre本机没有,将类路径里默认的jre修改为项目所使用的jre
完成这一步后应该没有警告了。

错误的原因也很简单,因为maven默认的web骨架会创建一个index.jsp,而它需要依赖servlet和jsp的依赖,最简单的方式是将类似tomcat的容器加入到项目中。另一个方法是在pom.xml中加入依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>


到此为止,项目应该没有任何错误。
如果想要运行该项目,可以使用jetty运行。
在pom.xml中加入如下代码
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.7.v20170914</version>
</plugin>
</plugins>


然后打开命令行,进入创建的web目录,输入命令mvn jetty:run
打开浏览器,输入127.0.0.1:8080或者localhost:8080


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: