Eclipse创建maven工程
1.开发maven项目前的准备.
Eclipse开发Maven项目,每次新建工作空间,都必须先指定maven的安装目录和maven仓库配置文件settings.xml的的位置.一个好的习惯是每次新指定工作空间都设置工作空间workspace,jsp等的字符集,多为utf-8.
指定maven本地安装路径 : windows-->Preferences-->Maven-->Installations-->Add-->指定maven的本地安装目录--选中自己添加的maven--Apply.
指定maven仓库的配置文件settings.xml的位置 : User Settings-->Global Settings和User Settings指定相同的maven仓库的配置文件位置.maven插件会自动读取配置文件获取仓库位置.
2.eclipse开发maven java project.
快捷键ctrl+N弹出引导窗口-->搜索maven-->Maven Project -->Next-->Next-->选中maven-archetype-quickstart-->Next-->设置G(group id)A(artifact id)V(version)和包结构package-->finish.
创建完成后,目录结构如图:
手动添加resources目录用于存放配置文件,如图 :
此时maven项目为了向下兼容默认为jre1.5,若想要该为1.8则需要修改build path的jre环境为1.8.右键项目-->properties-->biuld path-->libraries-->选中jre1.5-->edit-->jdk1.8(对应自己安装的jdk).
3.eclipse开发maven web project.
这里默认以配置好服务器.
快捷键ctrl+N弹出引导窗口-->搜索maven-->Maven Project -->Next-->Next-->选中maven-archetype-webapp-->Next-->设置G(group id)A(artifact id)V(version)和包结构package-->finish.
创建完成后目录结构如下图:
补充缺少的java目录,test目录,相比java项目多了webapp目录.如图
修改jre,并发布到服务器访问.
目前工程中存在的问题:
(1).打开web.xml,默认通过maven创建的web工程的javaee版本为2.3. 修改为3.1.
(2).在修改项目jre为1.8后,右键项目-->maven-->update project 发现jre版本重新恢复为1.5. 项目属性里Project Facets对应的web版本为2.3,java版本1.5
修改.settings的org.eclipse.wst.common.project.facet.core.xml的web和Java版本为3.1,1.8. 在pom.xml文件中添加编译插件. 然后重新观察project facets效果.
编译插件:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<!-- 插件的版本 -->
<version>3.5.1</version>
<!-- 编译级别 -->
<configuration>
<source>1.8</source>
<target>1.8</target>
<!-- 编码格式 -->
<encoding>UTF-8</encoding>
</configuration>
</plugin>
继续优化:jsp报错.
原因是缺少servlet和jsp相关的api.
加入相关依赖:
<!-- servlet及jstl标签库依赖的JAR配置 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.1</version>
</dependency>
加入相关依赖后报错消失.并正常访问.
在jetty服务器上运行web项目,在pom文件中加入jetty插件.
<!-- jetty插件:提供web应用运行的环境(tomcat) -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.15.v20140411</version>
<configuration>
<scanIntervalSeconds>1</scanIntervalSeconds>
<webApp>
<!-- 浏览器访问上下文根 -->
<contextPath>/</contextPath>
</webApp>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>9090</port>
</connector>
</connectors>
</configuration>
</plugin>
run-->run configrations-->Maven Build-->new 进行如下配置.
点击Run启动jetty服务器.
访问项目:
调试过程中无法关联源码的解决方案.