在Windows上使用maven编译java程序时出错

时间:2010-10-24 00:17:56

标签: java maven-2

我正在尝试使用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位)

2 个答案:

答案 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版本,直到找到将编译它的版本。