1

i have a problem with my project and ant4eclipse. If i run the build.xml i got this message:

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 

But where can i find the files? The .classpath file has just this entry:

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

1 回答 1

3

你那里有.classpath一个容器条目。这是一种简写方式,意思是“包括作为这个容器一部分的所有罐子”。哪些 jar 构成容器的定义存储在名为 的文件variablesAndContainers.dat中,位于工作区的.metadata目录中(这些定义是工作区范围的,不限于特定项目)。

据我所知,ant4eclipse 可以读取.classpath files,但不能读取variablesAndContainers.dat文件(几年前我上次使用 ant4eclipse 时确实如此)。这意味着虽然它可以找到你有一个容器的类路径条目org.eclipse.jst.j2ee.internal.module.container,但它无法找出那个容器的定义是什么。

因此,无论何时使用容器,都必须以ant4eclipse:jdtClassPathLibrary元素的形式向 ant4eclipse 提供它的定义,正如错误消息所述:

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

文件集标签应该定义构成容器的 jar 文件。

于 2011-07-27T09:36:26.877 回答