如何ant从命令行使用特定的javac可执行文件?
我有一个gcj的安装,作为gcc的一部分构建,在我们分发的库中,我希望有一个特定的Java软件构建.但是,它似乎只是使用system-gcc,而诸如"-Dbuild.compiler"之类的选项似乎要我指定某种Java类而不是文件路径.
我希望在Makefiles中有类似于CC的东西.
我确定这很简单,我只是愚蠢.
为了清楚起见,我想尽可能避免自己编辑构建文件.是否有一些标准的方法来简单地在命令行上指定编译器到ant?我不介意在某种意义上构建文件"表现良好"的假设.
我试图在Linux Mint系统上使用Sun Java JDK 1.7.0_17编译Java代码,但是我遇到了这个问题.
$ javac -version -target 1.7
javac 1.7.0_17
javac: invalid target release: 1.7
Run Code Online (Sandbox Code Playgroud)
-target 1.6也不起作用.目标1.5工作,但我得到一个版本问题,
$ javac -version -target 1.5 HelloWorld.java
javac 1.7.0_17
HelloWorld.java:2: cannot access java.lang.Object
bad class file: /usr/lib/jvm/jdk1.7.0_17/jre/lib/rt.jar(java/lang/Object.class)
class file has wrong version 51.0, should be 49.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
class HelloWorldApp {
^
1 error
Run Code Online (Sandbox Code Playgroud)
是否存在sun java目录之外的可用java目标列表?
我没有指定ClassPath或Javahome,设置它们没有帮助.jcontrol没有帮助.我也试过1.7.0_15,结果相似.