2016-06-09 2 views
0

저는 Ant를 사용하여 컴파일해야하는 클래스로 가져 오는 내 종속성을 실행하는 비교적 간단한 개미 스크립트를 가지고 있습니다. 제외는 옳지 않은 것 같습니다.Ant는 파일을 컴파일하는 자바 파일을 제외합니다

<javac exclude="dirset" srcdir="${dir.src} destdir="classes" debug="on" > 
    <filename name="${dir.src}\TaskJob.java"/> 
</javac> 

피드백에 감사드립니다 :

<property name="dir.src" location="src"/> 
<property name="dir.org" location="src\org"/> 
<target name="compile" description="compile the source"> 
    <mkdir dir="build"/> 

    <!-- Compile the java code from ${src} into ${build} --> 
    <javac listfiles="true" includeantruntime="false" srcdir="${dir.src}" classpath="${dir.src}" destdir="${build} debug="on" > 
     <include name="src/TaskJob.java" /> 
     <exclude name="${dir.org}" /> 
    </javac> 
</target> 

컴파일 내가 또한

<dirset id="dirset" dir="${dir.src}"> 
    <include name="src/**.java"/> 
    <exclude name="src/org/**"/> 
</dirset> 

을 시도하고 파일 이름을 사용하고

Directory---- 
---------build.xml 
---------+src 
-------------+org 
-------------TaskJob.java 
---------.git 

1900 자바 파일을 실행합니다.

+0

의견에도 정보가 포함되어 있습니다. –

답변

1

스크립트는 다음과 같은 ...

<property name="dir.src" location="src"/> 
<property name="dir.org" location="src\org"/> 

... 다음 ...

<javac ... srcdir="${dir.src}" ...> 
    <include name="src/TaskJob.java" /> 
    <exclude name="${dir.org}" /> 
</javac> 

다음 줄 것이라고 그 값과 속성을 교체 ...

있다
<javac ... srcdir="src" ...> 
    <include name="src/TaskJob.java" /> 
    <exclude name="src\org" /> 
</javac> 

srcsrcdir<include> 모두에 나타납니다. 이 시나리오에 존재한다면 다른 src 디렉토리 아래에 src 하위 디렉토리가 방법을 <include>

Directory---- 
---------build.xml 
---------src 
-------------src 
-----------------org 
-------------TaskJob.java 

공지 사항 ... 다음 TaskJob.java 일치합니다.

그래서, 당신이 원하는 것은 <exclude> 요소에 대한 필요가 없습니다 다음 ...

<javac ... srcdir="src" ...> 
    <include name="TaskJob.java" /> 
</javac> 

입니다. 그냥 <include>이 필요합니다.

0

org 디렉토리 아래의 모든 java 파일을 제외하려는 경우.

<javac listfiles="true" includeantruntime="false" srcdir="${dir.src}" classpath="${dir.src}" destdir="${build} debug="on" > 
    <exclude name="org/**" /> 
    <include name="src/TaskJob.java" /> 
</javac> 

자세한 내용 및 예는 document of FileSet을 참조하십시오.

+0

디렉토리가 아직 컴파일 중입니다. 자세한 내용을 보았습니다. 왜 include가 혼자서 내가 찾고있는 빌드를위한 .java 파일이 없다는 것을 보면서 과거를 보지 못하는지 알 수 없었습니다. –

+0

방금 ​​답변을 업데이트합니다 ('제외'가 위로 이동해야 함). 'build \ org' 디렉토리도 지워야합니다. –

+0

그게 나를 위해 그것을 고쳐주지 않았다. @beckyang –

관련 문제