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