【问题标题】:Build problems with Maven and GeoTools (com.sun.javadoc)使用 Maven 和 GeoTools 构建问题 (com.sun.javadoc)
【发布时间】:2012-07-29 15:46:28
【问题描述】:

我正在尝试使用 Maven 3.0.4 构建 GeoTools 8.0-RC2(本身,而不是教程项目等)。当我在根 pom 上运行 mvn install 时,它似乎工作正常,直到出现有关 com.sun.javadoccom.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

不幸的是,我没有通过 Google 找到解决方案,但查看了我的 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 或 &lt;version&gt;1.5&lt;/version&gt; 因为我安装了 1.7 版?

如果有人可以在这里帮助我,那就太好了!

问候, 亚历克斯

【问题讨论】:

  • 您可以尝试使用 JDK 1.5 还是更改 pom 以将版本指向 1.7
  • 我已经尝试以不同的组合将Sun Microsystems Inc. 更改为Oracle&lt;version&gt;1.5&lt;/version&gt; 更改为&lt;version&gt;1.7&lt;/version&gt;&lt;systemPath&gt;${java.home}/../lib/tools.jar&lt;/systemPath&gt; 更改为&lt;systemPath&gt;${java.home}/lib/tools.jar&lt;/systemPath&gt;,但仍然没有成功。
  • 这可能会有所帮助。而不是甲骨文尝试甲骨文公司。 sunnytalkstech.blogspot.in/2011/08/…
  • 疯了!这真的奏效了! GeoTools 似乎仍然没有正式支持 JDK 7。非常感谢您的提示!请添加您的评论作为答案,以便我接受。

标签: java maven geotools


【解决方案1】:

这可能会有所帮助。而不是甲骨文尝试甲骨文公司。 http://sunnytalkstech.blogspot.in/2011/08/maven-dependency-for-toolsjar-in-jdk7.html

【讨论】:

  • 附录:所描述的解决方案只是一种解决方法,可以部分地使用 Oracle 的 JDK 7 构建 GeoTools。不幸的是,当您尝试构建整个项目(根 pom)时,一些依赖项无法构建,因为与 JDK 7 的兼容性问题。GeoTools 8(当前开发版本)官方支持的 JDK 是 JDK 6。所以只需安装 1.6.0 u33,将您的 JAVA_HOME 指向它,构建开箱即用。
猜你喜欢
  • 2019-11-06
  • 2012-03-16
  • 2020-08-31
  • 1970-01-01
  • 2011-12-25
  • 1970-01-01
  • 2011-08-27
  • 2010-09-27
  • 1970-01-01
相关资源
最近更新 更多