1

プロジェクトと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"/
4

1 に答える 1

3

そこにあるの.classpathはコンテナエントリです。これは一種の省略形で、「このコンテナの一部であるすべてのjarファイルを含める」ことを意味します。コンテナを構成する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>

filesetタグは、コンテナを構成するjarファイルを定義する必要があります。

于 2011-07-27T09:36:26.877 に答える