Существует большая дискуссия о Муравье и Eclipse, но не ранее ответила, кажется, помогает мне.
Вот соглашение: Я пытаюсь создать программу Java, которая компилирует успешно с Муравьем от командной строки. (Чтобы перепутать вопросы далее, программа, которую я пытаюсь скомпилировать, является самим Муравьем.)
То, что я действительно хочу сделать, должно принести этот проект в Eclipse и иметь его компиляция в Eclipse, таким образом, что привязка типа и привязки переменных (номенклатура от Eclipse JDT) правильно разрешены. Мне нужно это, потому что я должен выполнить статический анализ кода, который создается сверху Eclipse JDT. Нормальным путем я приношу проект Java в Eclipse так, чтобы Eclipse создал его и разрешил, что вся привязка должна просто импортировать исходные каталоги в проект Java и затем сказать ему использовать src/main/каталог в качестве "исходного каталога".
К сожалению, выполнение этого с Муравьем заставляет сборку перестать работать с многочисленными ошибками компиляции. Мне кажется, что файл типа "build" Муравья настраивает путь к классу и путь сборки правильно (возможно исключением определенных исходных файлов), и Eclipse не имеет этой информации.
Там какой-либо путь состоит в том, чтобы взять путь к классу и информацию о пути сборки, встроенную в файл типа "build" Муравья, и, учитывая, что информация к Eclipse, чтобы вставить его .project и .classpath файлы? Я попробовал, создав новый проект из существующего файла типа "build" (опция в меню File), но это не помогает. Проект все еще имеет те же ошибки компиляции.
Спасибо, Nels
Я никогда не находил действительно чистого способа сделать это, но один "хакерский" способ - это манипулировать файлом .classpath, который использует eclipse (он содержит путь сборки).
Таким образом, в .classpath будет содержаться примерно следующее:
<classpathentry kind="lib" path="C:/jboss-4.2.3.GA/client/jboss-system-client.jar"/>
Поэтому вы можете, например, написать какой-нибудь пакетный скрипт и т.д., который будет читать ваши зависимости ant-файла и помещать их в файл .classpath eclipse (в правильном формате, конечно).
Но лично я никогда не возился с такими вещами. Я просто помещаю все банки, необходимые моему проекту, в одну папку, а затем в моем ant-файле настраиваю путь следующим образом:
<path id="all_libs">
<fileset dir="test_reflib">
<include name="**/*.jar"/>
</fileset>
</path>
test_reflib просто нужно определить, где находится эта папка, содержащая все банки.
Затем, на стороне eclipse вы можете просто сделать "Add jars" и перейти в эту же папку и просто выбрать все банки. Что еще круче, так это то, что в любой момент, когда вы добавляете новые банки в эту папку, просто щелкните на корневом уровне проекта eclipse и сделайте "Refresh", а затем отредактируйте путь сборки и снова щелкните add jar, и он покажет только те банки, которые вы еще не добавили в путь сборки (т.е. новую банку, которую вы только что добавили в папку).
Очевидно, что это не очень хорошо работает, если вы делитесь банками в центральном месте, но это довольно хорошо работает для небольших проектов, где вы можете просто скопировать все банки в центральную папку проекта.
Из исходного дистрибутива ant сначала запустите «ant -f fetch.xml» (или аналогичный), чтобы загрузить множество необходимых зависимостей. Добавьте их в свой проект Eclipse и посмотрите, поможет ли это.
Я использую плющ для управления своими классами ANT, я настоятельно рекомендую узнать, как это работает.
Существует плагин eclipse, который будет управлять пути к классам eclipse из того же файла ivy.xml, который ANT использует для определения зависимостей.
Мы сгенерировали файлы Eclipse .classpath и .project из Ant для большого проекта с централизованно расположенными jar-файлами (100+) (не считая src jars и javadocs). Подобно сборке.xml связан с here с очевидным добавлением атрибутов src и javadoc.