문제

나는 내 자신의 build.xml을 만들었습니다.

<target name="compile">
    <mkdir dir="build"/> 
    <javac destdir="build"> 
        <src path="src"/> 
    </javac>
</target>

<target name="build" depends="compile">
    <mkdir dir="dist"/>
    <jar destfile="dist/app.jar" basedir="build" />
</target>

<target name="run" depends="compile">
    <java classname="webserver.Loader" classpath="build" fork="true" />      
</target>

잘 작동합니다. ANT RUN을 호출하여 응용 프로그램을 컴파일하고 실행할 때 응용 프로그램에는 아이콘이있는 패키지가 있으며 폴더 "빌드"로 이동하지 않으므로 응용 프로그램이 아이콘을 찾을 수 없다는 것을 제외하고는 끝납니다. 내가 그들을 혼자 움직일 때 그것은 작동합니다.

나는 사용하려고했다

<copy todir="build/app/icons">
    <fileset dir="src/app/icons"/>
</copy>

작동하지만 사본 명령없이 수행하고 싶습니다. Javac에 매개 변수가 있습니까? 또는 다른 것?

답변 주셔서 감사합니다.

도움이 되었습니까?

해결책

죄송합니다. 자바가 아닌 파일을 수동으로 복사해야합니다. 리소스는 기술적으로 "소스"가 아닙니다. 명령 줄 Javac은 소스 디렉토리에서 출력 디렉토리로 리소스 파일을 복사하지 않으며 Ant의 Javac 작업도 마찬가지입니다.

다른 팁

그러한 매개 변수는 없습니다. 디렉토리간에 모든 종류의 파일을 다음과 같이 복사 할 수 있습니다.

<copy todir="build">
    <fileset dir="src"
             includes="**/*.xml,**/*.properties,**/*.txt,**/*.ico" />
</copy>

당신은 이것을 사용하여 할 수 있습니다 fileset 의 요소 jar 파일을 수동으로 복사하는 대신 작업. 예를 들어:

<jar destfile="dist/app.jar" basedir="build">
    <fileset dir="src" includes="app/icons/**" />
</jar>

이것은 모든 것을 복사합니다 src/app/icons/ ~로 app/icons .jar 파일의 경로.

아니요, 없습니다. 복사 작업은 자원을 빌드 폴더에 복사하는 올바른 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top