패키지 클라이언트에 public static void main()이있는 간단한 클래스 FabricClient가 있습니다. 이 패키지는 내 프로젝트의 'bin'디렉토리에 있습니다. 다음과 같이 bin 디렉토리에서 명령 행에서,이 클래스의 메인을 실행할 수 있습니다개미의 다른 디렉토리에있는 java를 실행하는 중 오류가 발생했습니다.
내가 부모 디렉토리에서 내 개미 build.xml 파일을 실행하려는[email protected] /c/projects/myproject/bin
$ java -classpath .;c:\dir\my.jar client.FabricClient
(/ C/프로젝트/MyProject를) 어디에서 손으로 자바 명령을 실행합니다. 다음과 같이 내가 디렉토리 속성을 사용하여 시도했다 :
<target name="run-client">
<java classname="client.FabricClient"
classpath="${classpath}"
fork="true"
failonerror="true"
dir="./bin">
</java>
</target>
내 클래스 경로 변수는 명령 줄에서 사용 (클래스 작품을 컴파일 내 개미 명령을 현재 디렉토리뿐만 아니라 my.jar의 디렉토리를 가지고) 같은 변수를 미세
여기에 클래스 패스
<property name="my.jar" location="c:\dir\my.jar" />
<property name="classpath" location=".:${my.jar}:." />
나는 전형적인 java.lang.NoClassDefFound 오류를 얻고을 생성하는 데 사용되는 설정입니다 : 클라이언트/FabricClient
를Ant 버전 1.7.0을 사용 중입니다.
build.xml 파일을 bin으로 이동하고 dir 속성을 제거하면 올바르게 작동합니다. 로컬 디렉토리가 아닌 디렉토리에서 java를 실행할 수 있습니까? 나는 이것이 dir 속성이 한 것이라고 생각했습니다.
당신이 게시 할 수 믿을 수 있습니까? –
whys는 classpath 속성의 현재 디렉토리가 두 번입니까? my.jar 속성 전후에? – JGFMK