使用mven編譯apache-shiro出錯

使用maven編譯shiro-samples時報錯:

[html] view plain copy
  1. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-toolchains-plugin:  
  2. 1.1:toolchain (default) on project shiro-samples: Cannot find matching toolchain  
  3.  definitions for the following toolchain types:  
  4. [ERROR] jdk [ vendor='sun' version='1.6' ]  
  5. [ERROR] Please make sure you define the required toolchains in your ~/.m2/toolch  
  6. ains.xml file.  

這是因爲shiro-root-1.2.4.pom中使用了maven-toolchains-plugin,而maven中沒有配置toolchain導致無法編譯(toolchain可以指定編譯時使用的jdk版本),見shiro-root-1.2.4.pom中的maven-toolchains-plugin:

[html] view plain copy
  1. <plugin>  
  2.   <groupId>org.apache.maven.plugins</groupId>  
  3.   <artifactId>maven-toolchains-plugin</artifactId>  
  4.   <version>1.1</version>  
  5.   <configuration>  
  6.     <toolchains>  
  7.       <jdk>  
  8.         <version>1.6</version>  
  9.         <vendor>sun</vendor>  
  10.       </jdk>  
  11.     </toolchains>                 
  12.   </configuration>  
  13.   <executions>  
  14.     <execution>  
  15.       <goals>  
  16.         <goal>toolchain</goal>  
  17.       </goals>  
  18.     </execution>  
  19.   </executions>  
  20. </plugin>  
意思是使用sun的1.6版本的JDK來編譯項目,toolchain可以在%MAVEN_HOME%\conf\toolchains.xml中定義(也可以在repository目錄下定義,如默認的${user.home}/.m2/目錄):

[html] view plain copy
  1. <toolchain>  
  2.   <type>jdk</type>  
  3.   <provides>  
  4.     <version>1.6</version>  
  5.     <vendor>sun</vendor>  
  6.   </provides>  
  7.   <configuration>  
  8.     <jdkHome>C:\Program Files\Java\jdk1.6.0_45</jdkHome>  
  9.   </configuration>  
  10. </toolchain>  

這裏定義了1.6版本的JDK的目錄,當然,你也可以定義多個toolchain。

ok,大功告成!
如果需要了解更多關於toolchain的信息,可以看這裏:
http://maven.apache.org/guides/mini/guide-using-toolchains.html

發佈了196 篇原創文章 · 獲贊 196 · 訪問量 120萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章