В вашем .classpath
есть запись контейнера.Это своего рода сокращение, которое означает «включать все банки, которые являются частью этого контейнера».Определение того, какие банки составляют контейнер, хранится в файле с именем variablesAndContainers.dat
, в каталоге рабочей области .metadata
(эти определения относятся к рабочей области и не относятся к конкретному проекту).
Насколькокак я знаю, ant4eclipse может читать .classpath files
, но не файл variablesAndContainers.dat
(это было, безусловно, так в прошлый раз, когда я использовал ant4eclipse пару лет назад).Это означает, что, хотя он может обнаружить, что у вас есть запись пути к классу в контейнере org.eclipse.jst.j2ee.internal.module.container
, он не может выяснить, каково определение этого контейнера.
Таким образом, всякий раз, когда вы используете контейнер, вы должны предоставитьопределение его в ant4eclipse, в форме элемента ant4eclipse:jdtClassPathLibrary
, в точности как в сообщении об ошибке:
<ant4eclipse:jdtClassPathLibrary name="org.eclipse.jst.j2ee.internal.module.container">
<fileset dir="..."/>
</ant4eclipse:jdtClassPathLibrary>
Тег fileset должен определять файлы jar, из которых состоит контейнер.