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

在windows上使用maven编译java程序时出错,java,maven-2,Java,Maven 2,我正在尝试使用maven 2在windows上编译。我以前编译过java程序(因此我知道默认的JDK工作正常),这是我第一次使用maven。我得到的错误是: [信息]编译失败 \evanchooly-javabot-dbea131\apt tools\src\main\java\javabot\maven\Indexer.java:[23,37] 包com.sun.tools.javac.processing 不存在错误:服务错误 配置文件或异常 构造处理器时抛出 对象: javax.annot

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

[信息]编译失败

\evanchooly-javabot-dbea131\apt tools\src\main\java\javabot\maven\Indexer.java:[23,37] 包com.sun.tools.javac.processing 不存在错误:服务错误 配置文件或异常 构造处理器时抛出 对象: javax.annotation.processing.Processor: 提供程序javabot.maven.Indexer不可用 发现

我(认为)我已经按照maven下载页面上的指示正确设置了所有环境变量,并且已经升级到Java1.6.022,但仍然存在相同的错误

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

您的代码中断这一事实意味着sun(oracle)确实更改了构建工具所依据的类

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

1) 将代码更改为不依赖com.sun

2) 随机更改JDK版本,直到找到可以编译它的版本

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

嗯,项目处于这样一种状态,上面的内容没有任何价值,只是不可能立即构建当前的head版本(缺少模块、缺少依赖项等)

无论如何,请尝试将以下内容添加到
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>

工具
java.vendor
太阳微系统公司。
com.sun
工具
1.6
系统
${java.home}/./lib/tools.jar

显然,这没有经过测试。

我尝试了这个解决方案,但不幸的是,没有成功。谢谢您的尝试。@maslen:您在上面的操作中遇到了什么错误?完全相同??为了确保maven的java.home正确地查看1.6 jdk,您可以创建一个类似${java.home}的属性,然后运行help:effective pom并查看my.java.home的计算结果。也许这会有帮助: