刚好在自学maven,自己搭建了个maven的框架,记录下来,方便后面查看
1. 创建一个简单的maven web项目
1.1 new -> Maven -> Maven project
1.2 点击下一步,在“New Maven project”窗口中,选中“Create a simple projet(skip archetype selection)”,点击下一步。
1.3 填写“Group Id” 和“Artifact Id”。
Group Id 可以理解为你的包的名字(例:com.my)
Artifact Id 就是你项目的名称(例如:maven-test)
1.4 要注意“Packaging”,我们创建web项目,所以这里选war,其它的可以默认,点击下一步
1.5 这时我们就生成了一个maven-test的项目,但是我们的目录结构不太对,下面继续修改目录结构
2. 现在的目录结构为:(++表示文件夹,--标识文件)
++maven-test
--Deployment Descriptor: maven-test()
--JAX-WS Web Services
++Java Resources
++src/main/java
++src/mian/resources
++src/test/java
++src/test/resources
++Libraries
++JavaScript Resources
++Deployed Resources
++src
++mian
++java
++resources
++webapp
++test
++java
++resources
++target
--pom.xml
3. 配置环境
3.1 右击项目,选择"properties" -> "Project Facets" ->去掉"Dynamic Web Module",并保存。如果默认是没有选中的则忽略这一步。
3.2 再次打开
"Properties"
-> "Project Facets"
-> 选中"Dynamic Web Module"
-> 选择"Java"的版本(我这里选择的是1.7),会提示你选择"Dynamic Web Module"对应的版本(选择的是3.0)
-> 在界面下方会出现一个"Futher configuration available",点击这个。这里可以选择web项目所必须的web.xml所存放的路径,和是否需要生成web.xml文件。(文件路径这我默认,选中下面"Generate web.xml deployment descriptor"自动生成web.xml文件),保存。
3.3 在你的项目下,和src同级的目录下可以看到生成了一个"WebContent"的文件夹,文件的名称就是上一步默认的文件名称。
文件结构:(++表示文件夹,--表示文件)
++ maven-test
......
++ WebContent
++ META-INF
--MANIFEST.MF
++ WEB-INF
++ lib
--web.xml
3.4 拷贝WebContent下的两个文件夹"META-INF"和"WEB-INF",拷贝到src->main->webapp目录下,删除WebContent文件。到这里差不多完成了。
3.5 如果项目还是报错
Dynamic Web Module 3.0 requires Java 1.6 or newer
One or more contraints hava not been satisfied
我们在上面已经将"Java"的版本改成了1.7,确还是报这个错。可能是pom.xml编译的版本和我们项目运行的版本不一致。
在pom.xml文件中加上(强行将pom.xml的版本修改):
<build>
<plugins>
<!-- define the project compile level -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>