我的项目和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"/
答案 0 :(得分:3)
您.classpath
中的内容是容器条目。这是一种简写,意思是“包括作为这个容器一部分的所有罐子”。哪个罐子组成容器的定义存储在工作空间的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>
fileset标签应该定义组成容器的jar文件。