我正在尝试使用GeoTools 3.0.4构建Maven8.0-RC28.0-rc2(本身,而不是一个教程项目或类似的项目)。当我在根pom上运行mvn install时,它似乎工作得很好,直到出现关于com.sun.javadoc和com.sun.tools.doclets的构建错误。
完整的错误跟踪如下所示:
[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不幸的是,我没有找到使用谷歌的解决方案,但是在我的JDK1.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>我使用的是Windows7 x64,我的%JAVA_HOME%设置为C:\Program Files\Java\jdk1.7.0_05。我试着摆弄它,但没有成功。错误仍然存在。Sun Microsystems Inc.可能是问题所在,因为它现在来自Oracle或<version>1.5</version>,因为我安装了1.7版?
如果有人能帮我一下就太好了!
向你致敬,亚历克斯
发布于 2012-07-30 00:26:39
这可能会有所帮助。不只是Oracle,还可以试试Oracle Corporation。http://sunnytalkstech.blogspot.in/2011/08/maven-dependency-for-toolsjar-in-jdk7.html
https://stackoverflow.com/questions/11710554
复制相似问题