Eclipse建立Maven Web项目的几点事项
来源:互联网 发布:白银之瞳的前夜 知乎 编辑:程序博客网 时间:2024/05/22 14:40
用eclipse建立maven web项目的相关教程已经很多了,这里不打算重复他们写过的东西,仅仅谈谈自己在实践过程中踩到的坑以及解决的办法。
下载安装Eclipse和Maven以及其插件
这里有一个可以参考的比较详细的教程
jre设置
按照网上的教程直接建立Maven web项目的话,你会发现默认使用的jre为j2se1.5,显然已经跟不上现在的时代了。如果按照网上许多的教程,直接改Build Path,把jre换成jdk 1.7或者1.8,确实能暂时解决问题。但不久之后你就会发现,一旦更新一次maven,jre又会回到j2se 1.5。这是因为maven默认使用比较老的jre。所以我们需要告诉maven我们要使用新版本的jre。
有两种方法解决。转载自游一游走一走
方法1.一劳永逸式
该方法是直接修改maven的用户配置文件。如果使用该方法,你应该先在eclipse里设定好user setting文件的路径(Windows-Preferences-Maven-UserSettings-UserSettings)。maven默认的用户配置文件在:maven根目录\conf\settings.xml。
打开用户配置文件,在标签内添加如下内容:(自行根据需要修改数字为合适的版本号)
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties></profile>
方法2.定制式
如果你有特别的需要,比如不同的项目使用不同的jre。那么可以在项目的pom.xml里的build标签内添加如下内容,然后update那个maven 项目:
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins>
这个原理是,该插件负责管理maven项目的jre运行环境。
框架配置文件的放置路径
与一般的项目从src中读取配置文件不同,maven项目是从src/main/resources读取配置文件的。应该把相关文件都放在src/main/resources,具体路径遵循src根目录(一般项目)=resources根目录(maven项目)。
新建项目没有src/main/java和src/test/java的问题
我没有找到什么很好的办法,只能自己手动添加了。
web module版本
新建maven web项目的Dynamic Web Module版本为默认的2.3。但现在早已进入3.0甚至3.1的时代了。我们想要直接通过项目的properties修改的话,会提示错误,无法修改。很多教程都提到了要用navigator视图,直接修改.settings文件夹下的org.eclipse.wst.common.project.facet.core.xml文件,将jst.web改成3.1就好了。这是对的。
但修改之后,有时候我们会遇到eclipse提示错误:Cannot change version of project facet Dynamic web module to 2.3。这个虽然不影响实际使用,但看着很烦。原因在于我们的web.xml配置还是2.3版本的。我们改为3.1版本就没问题了。
该解决方法参考自kolbe的博客文章
打开src/main/webapp/web.xml,将原本的内容删掉。
然后打开tomcat安装目录/webapps/ROOT/web.xml,复制其中的内容到你的web.xml中即可。(注意版本
我使用的是tomcat-8.0.36,其中的web.xml去掉注释后内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description></web-app>
Tomcat API
我们直接调用servlet相关的类,会提示没有这个类,也没有导入选项。这是因为我们没有添加服务器相关的包。
解决办法:
右键项目-properties-Java Build Path-Libraries-Add Library-Server Runtime-添加自己想用的服务器版本。
项目部署
我们直接运行服务器想要测试实现了某个框架简单功能的页面,可能会在控制台里提示找不到这个框架中的某一个类。但实际上我们已经通过pom.xml指定了依赖了,也确实在Maven Dependencies库中看到了相应的包。
这里的问题在于,我们没有设定将Maven Dependencies库部署到web-app/WEB-INF/lib下。
解决办法:
右键项目-properties-Deployment Assembly 按如图所示添加和修改部署。
当然,这里只是个示范,如果你有其它的用户库要在web程序运行时使用,那也需要导入。
依赖包maven信息
别用通用的搜索引擎了,通用搜索引擎的信息更新不够及时。直接上仓库去搜就行了:Maven 仓库
很贴心地列出了各种历史版本,想用哪个用哪个。
pom.xml配置
详细说明看这个,作者为niuzhenxin,这里只说我现阶段用到的东西。基本都是摘抄自那篇文章。
<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"> <!-- 声明项目描述符遵循哪一个POM模型版本 --> <modelVersion>4.0.0</modelVersion> <!-- 项目的全球唯一标识符 --> <groupId>com.longfei</groupId> <!-- 构件的标识符,它和group ID一起唯一标识一个构件。 --> <artifactId>Learning_Hibernate</artifactId> <!-- 项目产生的构件类型,因为我们是web项目,所以产生war文件。 --> <packaging>war</packaging> <!-- 项目当前版本,格式为:主版本.次版本.增量版本-限定版本号 --> <version>0.0.1-SNAPSHOT</version> <!-- 项目的名称, Maven产生的文档用 --> <name>Learning_Hibernate Maven Webapp</name> <!-- 项目主页的URL, Maven产生的文档用 --> <url>http://maven.apache.org</url> <!-- 项目相关的所有依赖 --> <dependencies> <!-- 一个依赖的相关信息 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.1.Final</version> </dependency> </dependencies> <!-- 构建项目需要的信息 --> <build> <!-- 产生的构件的文件名 --> <finalName>Learning</finalName> <!-- 要使用的插件集 --> <plugins> <!-- 一个插件的相关信息 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build></project>
- Eclipse建立Maven Web项目的几点事项
- 利用eclipse的Maven插件建立web项目
- 打包eclipse swt程序需要注意的几点事项
- 转eclipse maven web 项目建立过程
- Eclipse 中建立 Maven Web项目
- 在Eclipse中建立Maven Web项目
- 建立maven web项目
- Eclipse配置Maven及创建Maven Web项目的几种方法
- Eclipse 安装部署 maven 的 web 工程 需要注意的几点问题
- 使用Eclipse创建Maven WEB项目以及运行项目的几种方式
- 在eclipse下使用Maven建立java web项目
- 工程实施注意的几点事项
- 做web 项目的几点感悟
- eclipse 建立moven的web项目
- eclipse中用Tomcat Sysdeo插件配置Tomcat的几点事项
- Maven学习笔记(六)-使用Eclipse创建Maven WEB项目以及运行项目的几种方式
- Maven构建web项目在Eclipse中部署的几种方法
- Maven构建web项目在Eclipse中部署的几种方法
- 线程看视频后的总结
- spring配置quartz1.6.4版本
- java类与对象
- 设计模式之创建型模式---单例模式
- 例题:WERTYU
- Eclipse建立Maven Web项目的几点事项
- isdebuggerpresent
- 【Medium】69. Sqrt(x)
- js中window.scroll与window.onmousewheel区别
- JQuery .live()方法
- 腾讯面试题——英文单词间的最短转换路径
- js笔记——call,apply,bind使用笔记
- 《Head First 设计模式》读书笔记
- ArrayList