Как я могу скомпилировать "import pack. *" С помощью ant / javac, когда таких классов нет? - PullRequest
0 голосов
/ 18 мая 2009

Для моей компании я делаю пакетный сценарий, чтобы пройти и скомпилировать последние версии кода для нашего текущего проекта. Я использую Ant для создания файлов классов, но обнаружил странную ошибку. Один из исходных файлов импортирует. * Из каталога, где нет файлов (только папки), и фактически необходимые папки импортируются сразу после.

Он отлично компилируется в Eclipse, но я использую скрипт Ant для автоматизации его вне среды IDE, и Javac выдает ошибку, когда сталкивается с этой строкой. Есть ли какая-либо автоматизированная процедура, которую я могу использовать, чтобы игнорировать / подавить эту ошибку с помощью javac в Ant?

Я бы даже зашел так далеко, чтобы создать фиктивный файл в каталоге импорта, но все, что содержится в файле Jar, мне не нужно распаковывать, а затем повторно сжимать с фиктивным файлом. *

Ответы [ 4 ]

1 голос
/ 13 июня 2009

Наличие пустой (пакетной) директории не приведет к ошибке. Убедитесь, что (корневой) каталог этой иерархии пакетов добавляется в classpath, указанный для javac.

например. если пакет com.stuff, а каталог - / java / src / com / stuff, то вам нужно добавить / java / src в путь к классам javac.

Или просто удалите импорт, если он импортирует. * Из пустой директории, тогда он избыточен.

0 голосов
/ 09 апреля 2010

Для создания проектов Eclipse вне Eclipse, взгляните на проект ant4eclipse .

0 голосов
/ 19 мая 2009

Убедитесь, что вы используете одну и ту же версию JDK как в Eclipse, так и из Ant. Возможно, это разница между версиями JDK?

Единственный другой вариант - это разница в параметрах, передаваемых в javac.

Держу пари, что это первое, а не второе.

0 голосов
/ 19 мая 2009

В чем ошибка?

Может быть, это выходит за рамки вашего вопроса, но задумывались ли вы когда-нибудь о решениях для непрерывной интеграции? Мы используем LuntBuild и очень довольны (существуют и другие альтернативы: CruiseControl, Hudson, QuickBuild).

...