maven 打war包及出現各種問題及解決辦法
阿新 • • 發佈:2019-02-02
maven打war包步驟:
1.右鍵專案選擇Run as或者Debug as後maven clean
1.右鍵專案選擇Run as或者Debug as後maven install
maven打war包過程中出現錯誤(編譯不通過):
一.符號找不到,不存在(編譯不通過)Maven報錯Please ensure you are using JDK 1.4 or above and not a JRE解決方法
解決:
原因1:eclipse預設是使用jre作為執行環境,而maven編譯需要jdk作為執行環境
因此,我們只要設定為jdk即可。
1)http://blog.csdn.net/u011851478/article/details/51762014
原因2:
2)jdk版本必須與右鍵專案的properties中的projet facets中的Java對應版本一致且與本機exlipse配置的執行環境jdk版本一致
二.解決maven無法載入本地lib/下的jar包問題(程式包XXX不存在)(編譯不通過)
若該程式包是jdk自帶的程式包,請參照:解決maven編譯錯誤:程式包com.sun.xxx不存在
若該程式包是第三方的jar,解決方案是讓maven既載入maven庫中的jar包,又要載入本地WEB-INF/lib下的jar包。
如果報錯maven 編譯出錯Fatal error compiling: 無效的目標發行版: 1.8,看看以下jdk的版本是否一致
1.如果你的jdk是1.7則<source>和<target>改為1.7
若你的jdk是1.6則<source>和<target>改為1.7
2.專案中pom.xml中的jdk配置版本要與maven安裝目錄中的jdk版本一致
解決辦法
1.在pom.xml檔案中的<build>標籤中新增下面一段配置:
2.修改maven全域性jdk<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs> </compilerArguments> </configuration> </plugin> </plugins>
修改 安裝目錄\maven2\conf\settings.xml
<profile>
<id>jdk-1.7</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
</profile>
若該程式包是tomacat下的jar包,則1.將tomcat安裝目錄下的lib資料夾下的servlet-api.jar引入到maven專案的lib下並build path
2.右鍵專案properties中的Java build path中保證新增server環境tomcat
3.Maven專案下HttpServletRequest 或 HttpServletResponse需引用的依賴包:servlet-api.jar,並將scope設定為provided。
pom.xml中的<dependencies>的標籤中新增
中的<profiles>標籤中加入
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
三.若出現不能解析resources配置檔案中的com/xxx/xxx/*mapper.xml解決辦法:
在spring配置檔案中配置解析mapper檔案處classpath後面記得加上*
<property name="mapperLocations" value="classpath*:com/cn/xxx/mapper/*Mapper.xml"></property>
參考部落格地址:http://blog.csdn.net/u011851478/article/details/51762014