Я пытался весь день заставить эту штуку работать.По сути, мне нужно создать make-файл для сборки моего проекта из его источников.Я немного знаю о Linux, но немного, и я полный новичок в makefile.
Я перепробовал множество примеров со всей сети, и все жалуются, что в них отсутствуют зависимости.Другие предлагали использовать Ant или Mavern, но это не возможно, точное уведомление об этом:
Цитируется из спецификации
Ваша заявка должна состоять из одного файлаcomp2010.tar подходит для использования в системе Linux.Он должен содержать файл Makefile и все источники.Вы не должны сдавать никакие файлы .class.Ваш Makefile должен собрать инструмент из источников Java.Основной класс должен называться Blaise.Короче говоря, (автоматический) процесс тестирования будет состоять из:
tar xf comp2010.tar
make
java Blaise < test.file > testout 2>
testerr
Эти команды будутвыполняется в пустой директории в стандартной учебной среде Linux с Java 1.6.CLASSPATH будет включать банку ANTLR, версия 3.2.
ПРИМЕЧАНИЕ. Пожалуйста, убедитесь, что ваша заявка может быть скомпилирована и выполнена на стандартных ведомственных машинах.Убедитесь, что вы используете правильную версию Java и не используете абсолютные пути.Если вы используете какие-либо внешние библиотеки, вам также необходимо отправить их.
Таким образом, вы видите, что я не могу установить какие-либо переменные среды, так как машина, на которой она запускается, не моя, и мне не разрешен административный доступ.,Я не могу сдать файлы классов, поэтому make-файл не для меня, и скрипты Ant / Mavern не будут работать, потому что процедура тестирования автоматизирована и использует этот make-файл, и все, что мне разрешено сдавать, это файлы .java.Так что мне нужно собрать make-файл, и этого никак не обойти.
Структура исходного кода выглядит следующим образом:
src \ Package1 * .java
src \Package2 * .java
автоматически сгенерированный \ PackageA * .java
Во всех 3 папках есть исходные файлы, необходимые для компиляции.Метод Main () находится в src \ Package1 \ 1.java
Каждый из этих каталогов является пакетом в Eclipse, и эти 3 пакета зависят друг от друга, а также от внешнего файла Jar antlr-3.2.jar
Итак, как мне сделать этот make-файл.Это мой вопрос, и я предоставил свою собственную попытку ниже:
JAVAC = javac
CLASS_FILES = src/package1/1.class auto-generated/packageA/2.class auto-generated/packageA/3.class auto-generated/packageA/4.class src/Package2/5.class src/Package2/6.class src/Package2/7.class src/Package2/8.class src/Package2/9.class src/Package2/10.class src/Package2/11.class src/Package2/12.class antlr-3.2.jar.*
Default: $(CLASS_FILES)
%.class: %.java
$(JAVAC) $<
clean: $(RM) *.class
Это терпит неудачу с ошибками типа "org.antlr.runtime не существует", это внутри antlr-3.2.jar.Я нахожусь в конце моего ума и должен сдать в ближайшее время.Я предполагаю, что просто неправильно импортирую банку, и, возможно, мне нужно использовать какой-либо тип CLASSPATH.Извините, если это простой вопрос, но я пытался в течение 6 часов, чтобы сделать один из них.Буду признателен за любую помощь, которую вы можете оказать.
С уважением, Фелдох