1. 程式人生 > >maven 打war包及出現各種問題及解決辦法

maven 打war包及出現各種問題及解決辦法

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>標籤中新增下面一段配置:

<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>
2.修改maven全域性jdk
修改 安裝目錄\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