我在Mac OSX Mountain Lion上安装了jdk 6,我可以直接从eclipse创建新的java项目。
我试图修改alexholmes在json-mapreduce (https://github.com/alexholmes/json-mapreduce)编写的代码。我的第一个目标是将代码引入eclipse构建,以便调试代码。我做了以下操作:
Launch Eclipse -> File -> New Project -> New project from ant build file
-> select the build.xml downloaded from the above link
抛出以下错误:
<> "javac" task not found in target "compile"
<> "java" task not found in target "test"
Eclipse显示了代码,但没有进行任何构建或运行任何测试。由于上述错误,似乎有些事情出错了,但是我可以看到在eclipse中创建的其他java项目工作得很好。
(Eclipse显示安装的JRE位置:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
)
欢迎指教
根据我的经验,ant构建脚本(除非在设计时明确处理)过于非结构化,无法保证之后的IDE集成。
我们尝试使用ant4eclipse让ant编译现有的Eclipse项目(通过读取.project和.classpath文件),但它的可伸缩性不是很好。
如果您有时间和政治支持,您可能希望切换到maven, 可以缩放。但是,如果您当前的构建过程不符合"一个项目,一个结果jar文件",则可能需要相当长的时间。
如果您不这样做,我建议您忘记让Eclipse处理build.xml并手动维护镜像build.xml配置的Eclipse项目的一切,并在需要时简单地从命令行运行ant(如果需要,作为远程java应用程序进行调试)。
您可以尝试在您的目标中设置java路径吗?
<target name="compile">
<javac target="1.5" srcdir=.../>
</target>