Компиляция D2RQ с муравьем

D2RQ поставляется с ant скрипт сборки, который отлично работает. Я могу скомпилировать на linux box, где версия ant по умолчанию - 1.8.2, а версия javac - 1.7.0_121.

Я хочу скомпилировать D2RQ с Java 8. Я скачал ant 1.10, который требует Java 8 2.

Тогда я сталкиваюсь с некоторыми проблемами:

  • Когда я запускаю ant 1.10 без изменения опции источника (или цели), кажется, что ant работает успешно - даже если в java по умолчанию установлена ​​версия 1.7 (то есть <8) - я ожидал, что он будет жаловаться, что не у вас есть действующая версия Java?

  • Я пытался изменить compile цель в файле build.xml из

    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" оба работают.

  • Затем я попробовал другой подход (после немного больше Google) и заменил

    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

Есть ли что-то еще, что я должен пытаться?!

1 ответ

Решение

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.

Есть также ONT-D2RQ с java8, jena3 и maven

Другие вопросы по тегам