2010-10-24 84 views
5

我试图在使用maven 2的windows上编译javabot。我过去编译过java程序(所以我知道默认的JDK工作正常),这是我第一次使用maven。我得到的错误是:在windows上使用maven编译java程序时出错

[INFO] Compilation failure

\evanchooly-javabot-dbea131\apt-tools\src\main\java\javabot\maven\Indexer.java:[23,37] package com.sun.tools.javac.processing does not exist error: Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider javabot.maven.Indexer not found

我(觉得)我已经正确正确设置所有的环境变量,指向Maven的下载页面上,以及具有升级到Java 1.6.0_22,并仍然是相同的错误。

我已经联系了其他人,他们告诉我maven能够在OSX和Linux上正确编译程序,没有任何问题。有人能给我明确的指示,说明使用maven在Windows上编译javabot需要做些什么吗?谢谢。 (我正在运行的Windows XP中,32位)

+0

为了确保maven的java.home正确地查看你的1.6 jdk,你可以创建一个像 $ {java.home}的属性,然后运行help :effective-pom并查看my.java.home的计算结果。 – 2010-10-25 14:18:10

+0

也许这将有助于:https://forums.oracle.com/forums/thread.jspa?messageID=4825107 – yegor256 2013-03-29 05:55:24

回答

0

com.sun.tools是一个内部太阳包。你不应该给他们编码,因为他们可以在任何时候改变。仅供参考请参阅:http://java.sun.com/products/jdk/faq/faq-sun-packages.html

您的代码被破坏的事实意味着sun(oracle)确实改变了工具所针对的类。

你有2种方法来解决这个问题。

1)修改代码,不依靠的com.sun

2)随意改变的JDK版本,直到你找到一个会编译它。

2

I've contacted other people, who've told me that maven is able to compile the program correctly on OSX and Linux without any problems. Could someone give me clear instructions of what would need to be done to compile javabot on windows using maven? Thanks. (I'm running windows XP, 32 bit)

那么,该项目是在这种状态下,上面没有任何价值,它只是不可能建立在当前版本头开箱(缺少模块,缺少的依赖等)。

无论如何,尝试添加下列到apt-tools模块的pom.xml

<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> 

显然,这不是测试。

+0

我试过这个解决方案,不幸的是,没有成功。感谢您的尝试。 – maslen 2010-10-25 04:25:26

+0

@maslen:你有什么错误与上述?完全一样的? – 2010-10-25 22:13:37