我正在尝试使用maven 2在Windows上编译javabot。我以前编译过java程序(所以我知道默认的JDK工作正常),这是我第一次使用maven。我得到的错误是:
[INFO]编译失败
\ evanchooly-javabot-dbea131 \易于工具\ SRC \主\的java \ javabot \行家\ Indexer.java:[23,37] 包com.sun.tools.javac.processing 不存在错误:服务不好 配置文件或异常 在构造处理器时抛出 宾语: javax.annotation.processing.Processor: 提供者javabot.maven.Indexer没有 结果
我(想)我正确地设置了所有环境变量,正如maven下载页面上的指示,以及升级到Java 1.6.0_22,但仍然是相同的错误。
我联系了其他人,他们告诉我maven能够在OSX和Linux上正确编译程序而没有任何问题。有人能给我清楚的指示说明使用maven在windows上编译javabot需要做些什么?谢谢。 (我正在运行Windows XP,32位)
答案 0 :(得分:3)
我联系了其他人,他们告诉我maven能够在OSX和Linux上正确编译程序而没有任何问题。有人能给我清楚的指示说明使用maven在windows上编译javabot需要做些什么?谢谢。 (我正在运行Windows XP,32位)
好吧,项目处于这样的状态,即上面没有任何价值,只是不可能开箱即用(缺少模块,缺少依赖关系等)构建当前的头版本。
无论如何,请尝试将以下内容添加到pom.xml
模块的apt-tools
中:
<profile>
<id>tools</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.6</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
显然,这没有经过测试。
答案 1 :(得分:0)
com.sun.tools是一个内部sun包。你不应该为他们编码,因为他们可以随时改变。有关参考,请参阅:http://java.sun.com/products/jdk/faq/faq-sun-packages.html
您的代码损坏的事实意味着sun(oracle)确实更改了构建工具的类。
您有2种方法可以解决此问题。
1)将代码更改为不依赖于com.sun
2)随机更改JDK版本,直到找到将编译它的版本。