2011-11-09 2 views
1

J'utilise build.xml pour construire mon src. Cependant, il n'a pas réussi à générer des fichiers de classe sans message d'erreur. Le script complet estAnt construit ne génère pas de fichiers de classe

<?xml version="1.0"?> 

<project name="auxiliary" basedir="." default="dist"> 

<property name="src.dir" value="../auxiliary-src/com/nextbio/drugbank"/> 
<property name="dist.dir" value="dist"/> 
<property name="lib.dir" value="../jboss_config/common_app_jars"/> 
<property name="temp.dir" value="temp"/> 
<property name="foo_dist.dir" value="../foo/dist"/> 

<path id="libs-classpath"> 
    <fileset dir="${foo_dist.dir}"> 
      <include name="foo.jar"/> 
    </fileset> 

</path> 
<target name="dist" depends="auxiliary-dist" /> 


<target name="auxiliary-cleanup"> 
     <delete dir="${temp.dir}"/> 
     <delete dir="${dist.dir}"/> 
     <echo message="cleaned up. ${temp.dir}, and ${dist.dir} have been deleted."/> 
</target> 

<target name ="auxiliary-dist"> 

    <delete dir="${temp.dir}"/> 
    <echo message="delete ${temp.dir}" /> 
     <mkdir dir="${temp.dir}"/> 

    <javac destdir="${temp.dir}" source="1.6" target="1.6" debug="on" fork="true" memorymaximumsize="1024m"> 
     <src path="${src.dir}"/> 
     <classpath> 
      <path refid="libs-classpath"/>   
     </classpath> 
     <include name="com/car/**"/> <!-- troubled line --> 

    </javac> 
    <!--<copy overwrite="true" todir="${temp.dir}"> 
     <fileset dir="${src.dir}"> 
      <exclude name="**/*.java"/> 
      <exclude name="**/*.sql"/> 
      <exclude name="**/*.txt"/> 
     </fileset> 
    </copy> 
    <delete dir="${dist.dir}"/> 
    <mkdir dir="${dist.dir}"/> 
    <jar destfile="${dist.dir}/auxiliary.jar" basedir="${temp.dir}"/> --> 

</target> 

Il n'y a pas de fichier de classe $ {} temp.dir après cette étape, et aucun message d'erreur. J'ai vérifié deux fois, et j'ai trouvé que c'était à cause de la "ligne troublée". J'ai essayé d'ajouter quelques fichiers au classpath. Je ne sais pas pourquoi c'est faux.

+0

avez-vous essayé de définir le chemin src sur la balise javac? – r0ast3d

+0

Pouvez-vous poster la sortie de la fourmi? Aussi, pouvez-vous poster le build.xml complet? Cela aidera à résoudre ce problème. À votre santé. –

+3

exécutez-le en utilisant ant -v pour avoir plus d'informations de débogage. Peut-être que temp.dir ou src.dir ne sont pas définis, ou ne contiennent pas la valeur que vous pensez qu'ils font. –

Répondre

1

Le chemin source doit pointer vers la racine de l'arborescence du package. Vous faites pointer vers un paquet spécifique à l'intérieur des sources: ../auxiliary-src/com/nextbio/drugbank.

Et dans la tâche javac, vous lui demandez de compiler tous les fichiers correspondant au modèle com/car/**. Cela signifie qu'il va compiler les fichiers source Java dans ../auxiliary-src/com/nextbio/drugbank/com/car ou dans un sous-répertoire. Si c'est le cas, vous avez des noms de paquets très peu conventionnels.

0

J'ai eu le même problème.

Mon projet compliqué bien mais les classes là n'étaient pas dans nulle part et il n'a eu aucun message d'erreur.

Mon problème était le classpath. L'assistant Eclipse a ajouté des jarres EclipseLink 2.5.1. Je l'ai enlevé et le problème est parti.

Je suggère de créer un HelloWord simple et de supprimer tous les jars du chemin de classe et de réessayer.

0

J'ai rencontré ce problème "ant, javac, compile" lié au classpath to.

Aucun message de débogage ou de commentaire n'a été affiché.

Ce problème apparaît car les chemins d'accès aux classes ne sont pas compatibles (version supérieure) et ne génèrent aucune classe de sortie.

Questions connexes