проблема пути к классу ant4eclipse - PullRequest
1 голос
/ 27 июля 2011

У меня проблема с моим проектом и ant4eclipse. Если я запускаю build.xml, я получаю это сообщение:

Exception in thread "main" : org.ant4eclipse.lib.core.exception.Ant4EclipseException: Exception
whilst resolving the classpath entry '[EclipseClasspathEntry: path: 
org.eclipse.jst.j2ee.internal.module.container entryKind: 0 outputLocation: null exported: false]' of project 'MyProject': '

No 'jdtClassPathLibrary' defined for library entry 
'org.eclipse.jst.j2ee.internal.module.container'. 
To resolve this problem, please define a 'jdtClassPathLibrary' 
element inside your ant build file:

ant4eclipse:jdtClassPathLibrary name="org.eclipse.jst.j2ee.internal.module.container"  
fileset dir="..."/
/ant4eclipse:jdtClassPathLibrary 

Но где я могу найти файлы? Файл .classpath содержит только эту запись:

classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/

1 Ответ

3 голосов
/ 27 июля 2011

В вашем .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, из которых состоит контейнер.

...