Maven-EclipseEE使用Maven构建Java web项目从0到1
- Maven是什么
- 安裝Maven
- 解壓apache-maven-350-binzip
- 新建變量M2_HOME配置Maven主目錄
- 在 Path 變量中添加 Maven的bin目錄
- 命令窗口mvn -v查看是否成功
- 修改maven默認的倉庫地址可選
- Eclipse中設置本地配置的maven建議
- 添加maven
- 配置maven的配置文件
- EclipseEE使用Maven構建Java web項目
- 新建Maven項目
- 報錯the-superclass-javax-servlet-http-httpservlet-was-not-found-on-the-java-build
- 配置項目
- 添加source folder
- 報錯The folder is already a source folder
- 調整Build Path 和 JDK版本
- 添加source folder
- 將項目轉換為Dynamic Web Project
- 報錯Cannot change version of project facet Dynamic Web Module to 30
- 設置Web Deployment Assembly
- 每次使用Maven Update project的時候JDK版本都恢復成15的解決辦法
- 新建Maven項目
- 總結
Maven是什么
簡單的說:Maven是一個開源的構建工具,它可以幫助我們管理項目的構建過程,管理項目的生命周期,jar包依賴關系等。Maven配合持續集成可以實現自動化的編譯、測試、打包、發布等強大的功能,尤其在持續集成上有為我們帶來了很大便利
安裝Maven
官方下載地址: https://maven.apache.org/download.cgi
目前最新版本: apache-maven-3.5.0-bin.zip
解壓apache-maven-3.5.0-bin.zip
新建變量M2_HOME,配置Maven主目錄
在 Path 變量中添加 Maven的bin目錄
命令窗口mvn -v查看是否成功
修改maven默認的倉庫地址(可選)
默認情況下Mavne 會將jar包插件等下載到${user.home}/.m2/repository 下,
通過修改 Maven的配置文件 M2_HOME/conf/setting.xml 中的localRepository來更改默認的本地倉庫位置
Eclipse中設置本地配置的maven(建議)
如果是web項目,需要下載支持JavaEE的 Eclipse版本,不要使用JavaSE的Eclipse版本。
我使用的是
Eclipse Java EE IDE for Web Developers.Version: Mars Release (4.5.0)不建議使用eclipse自帶的maven,我們在這里使用我們本地安裝的maven。
添加maven
路徑:Windows->Preferences->Maven->Installations->add
勾選本地的maven
配置maven的配置文件
User Setting 配置 maven的 配置文件
Global Setting 為全局設置,一般為M2_HOME/conf/setting.xml
User Setting 是用戶設置,一般copy 一份 setting.xml 到任意位置,根據自己的需求修改配置文件
Maven的配置文件遵循”就近原則”,也就是說 User Setting會覆蓋 Global Setting;
EclipseEE使用Maven構建Java web項目
新建Maven項目
File —- New —- Other 選擇Maven Project
點擊Next
點擊Next, 保持默認
選擇 maven-archetype-webapp骨架
說明:
每一個骨架都會建相應的目錄結構和一些通用文件,最常用的是maven-archetype-quickstart和maven-archetype-webapp骨架。
maven-archetype-quickstart骨架是用來創建一個Java Project,
maven-archetype-webapp骨架則是用來創建一個JavaWeb Project。
填寫項目信息,Artifact ID將作為項目名稱。
點擊Finish即可。
報錯:the-superclass-javax-servlet-http-httpservlet-was-not-found-on-the-java-build
當新建完web項目后,如果報錯如上
原因: There is no Target Runtimes under Facets
解決辦法一:
pom.xml 添加依賴,自動下載servlet包
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope> </dependency>解決辦法二:
Project → Properties → Target Runtimes → Apache Tomcat 指定容器。
此時項目結構如下:
配置項目
添加source folder
Maven的項目有一些約定:src/main/java , src/main/resources , src/test/java , src/test/resources 。
創建好的JavaWeb項目中目前只有src/main/resources目錄,因此還需要手動添加src/main/java、src/test/java、src/test/resources
選中項目,右鍵單擊,依次添加Source Folder
報錯:The folder is already a source folder
解決辦法:
項目上右鍵build path –>Configure Build path –> source ,選擇 src/main/java、src/test/java,remove掉,最后重新new source folder即可。
重新創建即可
依次建立source folder后(src/main/java、src/test/java、src/test/resources),如下所示
調整Build Path 和 JDK版本
選中項目,右鍵–> Build Path ->Configure Build Path 選擇 Source標簽,會顯示4個Source Folder ,修改對應的 OutPut folder
雙擊每個文件夾的Output folder,選擇路徑
src/main/java,src/main/resources,選擇target /classes;
src/test/java ,src/test/resources, 選擇target/test-classes;
修改JDK版本:選擇 libraries 標簽,選中JRE library,單擊Edit按鈕
此時的目錄結構如下:
將項目轉換為Dynamic Web Project
選中項目,右鍵單擊,選擇 Properties,左側選擇 Project Facets
選擇Servlet版本 和 JDK版本。
報錯:Cannot change version of project facet Dynamic Web Module to 3.0?
解決辦法:
找到這個工程的 org.eclipse.wst.common.project.facet.core.xml
修改
然后:選中項目 右鍵 選擇 Maven ? Update Project (or press Alt+F5)
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><display-name>Archetype Created Web Application</display-name></web-app>設置Web Deployment Assembly
選中項目,右鍵單擊,選擇Properties,在左側選擇Deployment Assembly
這里是管理 部署項目時,文件發布的路徑。
每次使用Maven > Update project的時候JDK版本都恢復成1.5的解決辦法
pom.xml中增加如下配置:
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.7</source><target>1.7</target></configuration></plugin></plugins> </build>這是Maven已知的一個特性。除非在你的POM文件中顯示的指定一個版本,否則會使用編譯器默認的source/target版本1.5。主要還是在于Eclipse中Maven的集成方式起到了關鍵作用, 它會從POM文件中生成項目的.project,.classpath以及.settings, 因此除非POM文件指定了正確的JDK版本, 否則你每次更新項目配置的時候它都會重置到1.5版本。
參考: http://maven.apache.org/plugins/maven-compiler-plugin/index.html
總結
至此,環境的搭建就部署完成了。
總結
以上是生活随笔為你收集整理的Maven-EclipseEE使用Maven构建Java web项目从0到1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Maven-Maven中添加Oracle
- 下一篇: Java-Java反射