为了完成 André 的答案,ant 解决方案可以像 Emacs、JDEE、Ant 和 Eclipse Java 编译器中描述的那样,如下所示:
<javac
srcdir="${src}"
destdir="${build.dir}/classes">
<compilerarg
compiler="org.eclipse.jdt.core.JDTCompilerAdapter"
line="-warn:+unused -Xemacs"/>
<classpath refid="compile.classpath" />
</javac>
compilerarg 元素还允许您将其他命令行参数传递给 eclipse 编译器。
您可以在此处找到一个完整的 ant 脚本示例,该示例将在命令行中调用:
java -cp C:/eclipse-SDK-3.4-win32/eclipse/plugins/org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar org.eclipse.core.launcher.Main -data "C:\Documents and Settings\Administrator\workspace" -application org.eclipse.ant.core.antRunner -buildfile build.xml -verbose
但这一切都涉及蚂蚁,这不是基思所追求的。
对于批处理编译,请参阅编译 Java 代码,尤其是“使用批处理编译器”部分"
批处理编译器类位于 JDT 核心插件中。该类的名称是 org.eclipse.jdt.compiler.batch.BatchCompiler。它被打包到插件/org.eclipse.jdt.core_3.4.0..jar中。从3.2开始,它也可以作为单独的下载提供。该文件的名称是 ecj.jar。
从3.3开始,这个jar还包含对jsr199(编译器API)的支持和对jsr269(注释处理)的支持。为了使用注释处理支持,需要 1.6 版本的 VM。
从命令行运行批处理编译器将给出
java -jar org.eclipse.jdt.core_3.4.0<qualifier>.jar -classpath rt.jar A.java
艺术
java -jar ecj.jar -classpath rt.jar A.java
该部分还详细介绍了所有java编译选项。
与Visual Studio命令行编译功能的不同之处在于,Eclipse似乎没有在命令行参数中直接读取其.project和.classpath。您必须在各种命令行选项中报告 .project 和 .classpath 中包含的所有信息,才能获得完全相同的编译结果。
所以,简短的回答是:“是的,Eclipse有点像。”;)