2011-11-09 60 views
1

私はsrcをビルドするためにbuild.xmlを使用しています。ただし、エラーメッセージなしでクラスファイルを生成できませんでした。完全なスクリプトは、このステップの後に$ {} temp.dirには、クラスファイル、およびエラーメッセージなしはありませんAntビルドでクラスファイルが生成されない

<?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> 

です。私はそれを二重にチェックし、それが "問題のある線"のためであることが分かった。クラスパスにいくつかのファイルを追加しようとしました。なぜそれが間違っているのか分かりません。

+0

javacタグでsrcパスを定義しようとしましたか? – r0ast3d

+0

antの出力を投稿できますか?また、完全なbuild.xmlを投稿できますか?それはこれをトラブルシューティングするのに役立ちます。乾杯。 –

+3

ant -vを使用して実行すると、より多くのデバッグ情報が得られます。たぶん、temp.dirまたはsrc.dirが定義されていないか、またはあなたが思う値を含んでいない可能性があります。 –

答えて

1

ソースパスは、パッケージツリーのルートを指している必要があります。ソース内の特定のパッケージを指すようにします:../auxiliary-src/com/nextbio/drugbank

javacタスクでは、パターンcom/car/**に一致するすべてのファイルをコンパイルするように要求します。これは、Javaソースファイルを../auxiliary-src/com/nextbio/drugbank/com/carまたはサブディレクトリにコンパイルすることを意味します。そうであれば、あなたは非常に独創的なパッケージ名を持っています。

0

私は同じ問題を抱えていました。

私のプロジェクトはうまくコンパイルされましたが、クラスはどこにもありませんでした。エラーメッセージも表示されませんでした。

私の問題はクラスパスでした。 eclipseウィザードでEclipseLink 2.5.1 jarファイルが追加されました。 私はそれを削除し、問題はなくなりました。

単純なHelloWordを作成して、クラスパスからすべてのjarファイル を削除してから、もう一度お試しください。

0

私はこの "ant、javac、compile"というクラスパスに関連する問題が発生しました。

デバッグメッセージまたは冗長メッセージは表示されません。

この現象は、classpathに互換性のある(上位の)バージョンのjarパッケージが存在せず、出力クラスが存在しないために表示されます。

関連する問題