java - 使用ant编译D2RQ

标签 java ant d2rq

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/

相关文章:

java - 如何在Java中使用相对路径编写文件

java - java中的Boolean.valueOf(String)和BooleanUtils.toBoolean(String)?

java - @Autowired 需要实例化参数的属性

java - 为什么在 netbeans 项目中从 ant 命令行运行 test-with-groovy 不能运行测试?

java - 为 jenkins 配置相对于工作区的 ant 安装

maven - tomcat 是如何在我的 war 中找不到库中的类的?

mysql - 使用 D2RQ 生成 SQL 数据库到 RDF 的映射

java - 如何从单例 spring bean 内部访问 ServletRequest?

java - 在 Java 中,如何判断一个点是否在 GeneralPath 的边界上?