D2RQ附带了一个 ant
构建脚本,该脚本运行良好。我可以在linux机器上编译,默认的ant版本是1.8.2,javac版本是1.7.0_121。
我想用 Java 8 编译 D2RQ。我已经下载了 ant 1.10,它需要 Java 8 2 .
然后我遇到了一些问题:
当我在不更改源(或目标)选项的情况下运行 ant 1.10 时,ant 似乎运行成功 - 即使系统上默认的 java 版本是 1.7(即 <8) - 我预料到了提示它没有有效的 java 版本?
我尝试修改 build.xml 文件中的
compile
目标source="1.5" target="1.5"
至
source="1.8" target="1.8"
但我收到错误:
compile: [javac] Compiling 171 source files to /home/chris/d2rq/bldsrc [javac] javac: invalid target release: 1.8
如果我将“1.8”替换为“8”,我会得到同样的错误,但“1.6”和“1.7”都可以。
然后我尝试了一种不同的方法(经过更多的谷歌搜索后)并替换了
source="1.5" target="1.5"
与
fork="yes" executable="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-0.b15.el6_8.x86_64/jre/bin/java"
java 8 的位置有效,但运行编译任务现在会导致
compile: [javac] Compiling 171 source files to /home/chris/d2rq/bldsrc [javac] Unrecognized option: -d [javac] Error: Could not create the Java Virtual Machine. [javac] Error: A fatal exception has occurred. Program will exit.
我什至不知道 -d
是 D2RQ 编译选项还是有效的 java 标志。
还有什么我应该尝试的吗?!
最佳答案
executable
<javac>
的属性必须指向javac
可执行文件,而不是java
。请注意"c"
在 javac
末尾.
以下内容必须更改为指向 javac
:
executable="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-0.b15.el6_8.x86_64/jre/bin/java"
哪里javac
生存取决于您的 Linux 发行版。
关于java - 使用ant编译D2RQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41576300/