我正在嘗試使用Maven 3.0.4構建GeoTools 8.0-RC2(本身,不是教程項目之類的)。當我在根pom上運行mvn install
時,它似乎工作正常,直到發生關於com.sun.javadoc
和com.sun.tools.doclets
的構建錯誤。Maven和GeoTools構建問題(com.sun.javadoc)
完整的錯誤跟蹤如下:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project javadoc: Compilation failure: Compilation failure:
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Source.java:[22,22] error: package com.sun.javadoc does not exist
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Source.java:[23,28] error: package com.sun.tools.doclets does not exist
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Source.java:[33,37] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Source.java:[40,50] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Source.java:[160,33] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Source.java:[171,33] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Tutorial.java:[20,22] error: package com.sun.javadoc does not exist
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Tutorial.java:[21,28] error: package com.sun.tools.doclets does not exist
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Tutorial.java:[32,39] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Tutorial.java:[38,49] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Tutorial.java:[130,33] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Tutorial.java:[141,33] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Source.java:[161,28] error: cannot find symbol
[ERROR] \GeoTools\GIT\build\maven\javadoc\src\main\java\org\geotools\maven\taglet\Tutorial.java:[131,28] error: cannot find symbol
不幸的是,我沒有找到與谷歌的解決方案,但在我的JDK 1.7.0 U5看了看lib\tools.jar
,發現了丟失的包有。取決於tools.jar
的pom是build\maven\javadoc\pom.xml
。有兩個配置文件,一個是SUN的JDK,一個用於IBM的JDK:
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
<!-- Note: a ${tools.jar} variable exists - we should try to use it. -->
</dependency>
</dependencies>
</profile>
我在Windows 7 x64和我%JAVA_HOME%
設置爲C:\Program Files\Java\jdk1.7.0_05
。我試圖搞亂它,但沒有運氣。錯誤依然存在。 可能Sun Microsystems Inc.
是因爲現在它來自Oracle或<version>1.5</version>
,因爲我已經安裝了1.7版本?
如果有人能夠幫助我,這裏真的很棒!
問候, 亞歷
你可以嘗試用兩種JDK 1.5或改變POM的版本到1.7 – 2012-07-29 16:00:54
我已經嘗試改變'Sun微Inc.'到'Oracle',' 1.5 '指向' 1.7 '和' $ {java.home} /../ lib/tools.jar '到' $ {java.home} /lib/tools.jar '以不同的組合,但仍然沒有運氣。 –
alexfr
2012-07-29 16:11:41
這可能會有所幫助。而不僅僅是甲骨文公司。 http://sunnytalkstech.blogspot.in/2011/08/maven-dependency-for-toolsjar-in-jdk7.html – 2012-07-29 16:16:07