使用Maven和GeoTools(com.sun.javadoc)构建问题



我正在尝试用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] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletSource.java:[22,22] error: package com.sun.javadoc does not exist
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletSource.java:[23,28] error: package com.sun.tools.doclets does not exist
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletSource.java:[33,37] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletSource.java:[40,50] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletSource.java:[160,33] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletSource.java:[171,33] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletTutorial.java:[20,22] error: package com.sun.javadoc does not exist
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletTutorial.java:[21,28] error: package com.sun.tools.doclets does not exist
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletTutorial.java:[32,39] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletTutorial.java:[38,49] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletTutorial.java:[130,33] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletTutorial.java:[141,33] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletSource.java:[161,28] error: cannot find symbol
[ERROR] GeoToolsGITbuildmavenjavadocsrcmainjavaorggeotoolsmaventagletTutorial.java:[131,28] error: cannot find symbol

不幸的是,我没有找到谷歌的解决方案,但在JDK1.7.0u5中查看了libtools.jar,发现了那里丢失的包。依赖于tools.jar的pom是buildmavenjavadocpom.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 FilesJavajdk1.7.0_05。我试着摆弄它,但没有成功。错误仍然存在。Sun Microsystems Inc.可能是个问题,因为现在它来自Oracle,或者<version>1.5</version>,因为我安装了1.7版?

如果有人能在这里帮我就太好了!

谨致问候,Alex

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

最新更新