我正在处理一个名为RapidMiner的开放源码项目,其中我需要能够使用com.sun.javadoc,以便能够使用Ant构建文件编译插件。我找到一个线程,它解释了我需要包含来自JDK的.jar,并给出了一些关于如何做的简单说明(See here)。
它似乎在基本层面上起到了作用。我现在可以使用com.sun.javadoc并让它与content assist一起工作。所以我的印象是Eclipse至少可以看到它。
问题是Ant拒绝看到它。我已经确保当我运行build.xml时,它使用了正确的JRE (在我的特殊情况下称为jre7JDK )。但每次我运行构建时,我都会收到这个错误(第二个错误是最重要的):
build.common:
[echo] RapidMiner: Compile with Java from dir: C:\Program Files\Java\jre7
[echo] RapidMiner: using Java version: 1.7.0_17
[javac] Compiling 12 source files to C:\Users\jcarr14\Eclipse\Workspace\RapidMiner_Unuk\build
[javac] C:\Users\jcarr14\Eclipse\Workspace\RapidMiner_Unuk\src\com\rapidminer\doc\AbstractOperatorDocGenerator.java:40: warning: [deprecation] com.rapidminer.operator.condition.InnerOperatorCondition in com.rapidminer.operator.condition has been deprecated
[javac] import com.rapidminer.operator.condition.InnerOperatorCondition;
[javac] ^
[javac] C:\Users\jcarr14\Eclipse\Workspace\RapidMiner_Unuk\src\com\rapidminer\doc\AbstractOperatorDocGenerator.java:49: package com.sun.javadoc does not exist
[javac] import com.sun.javadoc.ClassDoc;还列出了几千个错误,但它们都归结为一件事,Ant的编译方式与JDK的.jars不同,我需要将其包括在内。如何让Ant看到这些.jars?
发布于 2013-04-02 20:28:31
答案实际上是相当直接的。我所做的就是将Eclipse中的Ant构建指向实际的JDK本身(在另一个我似乎找不到的线程中提到了它……)。为此,我创建了一个新的Environment wide JRE,该JRE指向JDK的根文件夹。然后,当我使用build.xml时,我会使用"Run As...“然后是Ant Build,然后转到JRE选项卡并选择JDK支持的JRE。从那以后,它一直运行得很好。
我仍然不太确定为什么在我的自定义JRE中包含JDK jars不起作用,但这就对了。
更新:找到了它被“暗示”的帖子。不过,当我现在读到它时,它看起来非常简单(就像你在运行它之后经常做的那样):Right here。
https://stackoverflow.com/questions/15746922
复制相似问题