使用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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章