- 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.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>3.1.0version>
<scope>providedscope>
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
<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 Applicationdisplay-name>
web-app>
複制
設定Web Deployment Assembly
選中項目,右鍵單擊,選擇Properties,在左側選擇Deployment Assembly
這裡是管理 部署項目時,檔案釋出的路徑。
每次使用Maven > Update project的時候JDK版本都恢複成1.5的解決辦法
pom.xml中增加如下配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.1version>
<configuration>
<source>1.7source>
<target>1.7target>
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
總結
至此,環境的搭建就部署完成了。