使用STS或者Eclipse这样的IDE创建Maven Web工程还真不是一般的麻烦!
看了网上不少的方法介绍,操作下来总有区别,不是这里不对就是那里不对。
下面是尝试了几次之后成功的方法,记录一下。
环境信息
Spring Tool Suite
Version: 3.8.3.RELEASE
Build Id: 201612191351
Platform: Eclipse Neon.2 (4.6.2)
Maven 3.3.9
创建Maven工程
File->New->Project,选择Maven Project
可以修改保存位置,这里使用默认,注意不勾选Create a simple project
选择maven-archetype-webapp,这里最新的版本是1.0
填写坐标:Group Id、ArtifactId、Version,然后点击Finish
刚生成的Maven工程看起来会有些问题,甚至提示错误,不用理,下面逐个解决。
刚创建完的工程,在Package Explorer里面src/main/resources可能显示的是普通的Folder而不是source folder,
这块可以调整Perspective试试,不要用Java EE,试试Java Perspective或者Spring Perspective。
如果还不行,就继续看下面的调整。
默认Java Compiler是1.5太低了,调整为1.7
提示Build可以点“Yes”
修改Java Build Path,从默认1.5改成1.7
如果已经安装了,但是STS中没有显示的话,可以点Installed JREs进行查看,点Add...添加
需要注意:路径是到jdk的路径,不是到jre
注意有错误提示:两个build path找不到,到Order and Export中勾选上,然后点Apply
然后到Source中看到还是提示missing
在Package Explorer中点工程的名字,右键->Maven->Update Project...,并勾选上Force Update of Snapshots/Releases,点OK
等着更新完了,再来查看Project->Properties->Java Build Path->Source 就没有找不到的提示了
修改src/test/java 和 src/test/resource对应的输出目录到target/test-classes
全都修改完了,还是能看到index.jsp提示错误,这是因为没有导入对应的javaee api依赖包
在pom.xml中添加javaee-api包依赖,保存之后瞬间错误提示就消失了
下面修改Project Facets,这块比较麻烦,通常上来就会出错
先改Java版本到1.7,然后点Apply
然后我们把Dynamic Web Module版本改到3.0,发现会提示错误
注意这里的操作很关键:
在Package Explorer中右键点击工程名称MavenWebDemo,选择Show in -> Navigator,然后展开.settings,逐个文件改一下配置
这个第一个需要改的,project版本号改到1.7.0
这个是第二个要改的,把jst.web版本改到3.0
然后再去查看Project->Properties->Project Facets,发现就都符合期望了
另外,为了防止乱码,要记得改一下编码为UTF-8,点Project->Properties->Resource->Text file encoding,改成UTF-8
参考链接:
使用maven创建web项目 http://blog.csdn.net/zhshulin/article/details/37921705
解决Cannot change version of project facet Dynamic web module to 2.5 http://blog.csdn.net/steveguoshao/article/details/38414145
Eclipse+Maven src/main/java not visible in src folder in Package Explorer http://*.com/questions/18790106/eclipsemaven-src-main-java-not-visible-in-src-folder-in-package-explorer