Mon script ant de construction commence par une tâche java qui utilise fork = trueIncohérence NoClassDefFoundError dans la tâche subant java
<java fork="true"
classname="org.apache.tools.ant.launch.Launcher"
jvm="${java.home}/bin/java"
classpathref="class.path">
<arg value="-f" />
<arg value="${ant.file}" />
<arg value="generate" />
</java>
Les <arg value="generate" />
des points à une autre tâche dans le même fichier de construction Ant. Cette tâche démarre une autre cible avec une tâche subant qui pointe vers un autre fichier.
<subant verbose="true" target="replace">
<fileset dir="${basedir}" includes="refactor.xml" />
</subant>
Ce fichier refactor.xml recommence une tâche Java avec fork = true.
<java classpathref="class.path"
classname="namespace.Tool"
fork="true"/>
Le comportement étrange est: tout fonctionne bien, sauf de temps en temps, je reçois l'erreur NoClassDefFoundError
pour le fichier source namespace.Tool
java. Après, par exemple, fermeture, rouvrir le fichier l'erreur peut disparaître, mais il n'y a pas de comportement reproductible.
J'ai essayé d'éviter la construction subantile (utilisée pour dégager) mais cela n'aide pas.
Enfin, le class.path référencé est comme ceci:
<path id="class.path">
<pathelement location="../common/bin" />
<pathelement location="./bin" />
<fileset dir="${build.dir}">
<include name="...jar" />
</fileset>
</path>
Toutes les idées?