문제
나는 내 자신의 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 파일의 경로.
아니요, 없습니다. 복사 작업은 자원을 빌드 폴더에 복사하는 올바른 방법입니다.
제휴하지 않습니다 StackOverflow