2013-07-13 4 views
0

나는 내 Java 게임을 다음과 같이 내보내려고했다는 것을 의미한다 : EXPORT> Jar File하지만이 작업을 시작하지 않는다.jar 파일을 올바르게 내보내는 방법은 무엇입니까?

그리고 실행 가능한 jar 파일로 내 보내면 내 리소스를 jar 파일로 내 보내지 않습니다.

내가 게임을 실행하면 소리가 작동한다는 것을 의미합니다. 하지만 실행 jar 파일로 내 보내면 작동하지 않습니다. 나는 그것이 소리도 내 보내지 않는다고 생각한다.

이 내가 jar 파일 실행 사용하려고하는 코드입니다 : 여기

java jar -cvfe ProjectZero.jar Main.Launcher Main.Launcher.class

답변

1

이 문제를 해결하기위한 두 가지 솔루션입니다,이 분명 충분 희망 :

솔루션 # 1 - JAR 파일 외부에서 리소스를 원합니다.

리소스가있는 폴더를 JAR 파일이 들어있는 동일한 폴더에 복사하거나 붙여 넣기 만하면됩니다. (디렉토리는 응용 프로그램에서 언급하는 Pathes 일치하는지 확인하십시오.)

솔루션 # 2 - 당신은 JAR 파일 내부 자원을 원하는

당신은 자원을 직접 JAR 파일에 포함 할 경우, getResource() 함수를 사용하여 이미지/사운드를 가져올 수 있습니다. 그런 다음 리소스가 "/ src"및 "/ bin"폴더에 모두 표시되는지 확인하십시오. 당신은 다음과 같은 응용 프로그램 코드가있는 경우

예를 들어, :에

ImageIcon myIcon = new ImageIcon(this.getClass().getResource("/resources/icon.gif")); 

파일을 볼 수 있어야합니다 : 당신은 JAR 파일로 응용 프로그램을 내보낼 수 있습니다 다음

/myApp/src/resources/icon.gif 
/myApp/bin/resources/icon.gif 

, 그것은 포함 자원. 그것은 나에게 오류를 제공

+0

가 .. JComponent의()를 인스턴스화 할 수 없습니다 ... 나는 현재 이클립스를 사용하고있어 어쩌면 그 또한 문제 –

+0

과의 setIcon (myIcon)의 그것은 Eclipse를 사용하여 중요하지 않습니다 유형 JComponent의 –

+0

@VerdesAndrei에 대한 정의되지 아닙니다. 이 코드는 예제 일뿐입니다. "this.getClass(). getResource ("/ resources/icon.gif ")"에만주의하여 자원 경로를 검색해야합니다. – yohm

관련 문제