2011-11-09 4 views
1

내 src를 빌드하는 데 build.xml을 사용하고 있습니다. 그러나 오류 메시지없이 클래스 파일을 생성하는 데 실패했습니다. 전체 스크립트는이 단계 이후에 $ {temp.dir}에는 클래스 파일 및 오류 메시지가 없습니다개미가 클래스 파일을 생성하지 않습니다.

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

개미의 출력을 게시 할 수 있습니까? 또한 전체 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

나는 동일한 문제가있었습니다.

프로젝트가 복잡해졌지만 클래스가 아무데도 없었으며 오류 메시지가 표시되지 않았습니다.

내 문제는 classpath입니다. 이클립스 마법사는 EclipseLink 2.5.1 병을 추가했다. 제거한 후 문제가 사라졌습니다.

간단한 HelloWord를 만들고 클래스 패스에서 모든 jar 참조를 제거하고 다시 시도하십시오.

0

클래스 경로와 관련된 "ant, javac, compile"문제가 발생했습니다.

표시되는 디버그 또는 자세한 메시지가 없습니다.

이 동작은 classpath에 호환 (상위) 버전 jar 패키지가없고 출력 클래스가 없기 때문에 나타납니다.

관련 문제