2014-06-30 5 views
0

일단 프로그램을 내 보낸 후 .war 파일을 .jar 파일에서 실행하려고 시도하고 솔루션에 대해 광범위하게 조사했지만 찾았습니다. 아무것도 작동하지 않습니다. 여기Java .jar 파일을 .jar 파일 내에서 실행하기

내 현재 코드입니다 :

 Clip clip = AudioSystem.getClip(); 
     clip.open(AudioSystem.getAudioInputStream(new File("soundfile.wav"))); 
     clip.start(); 

나는이 문제를 해결하기 위해 무엇을 할 수 있는가?

+0

광범위한 연구를 공유하고 시도한 마음이 있습니까? – awksp

+0

URL과 같은 것들 (심지어는 약간의 작업도 안됨) 및 stackoverflow에서 쉽게 찾을 수있는 다른 것들, 그러나 실제로는 전혀 작동하지 않습니다. – user3672378

+2

이 솔루션을 광범위하게 조사 했습니까? 만약 그렇다면 임베디드 리소스에서 파일을 로딩 할 수 있습니다. –

답변

1

Jar 파일의 컨텍스트에 포함 된 리소스를 일반적으로 포함 된 리소스라고합니다.

이러한 자원은 일반적인 파일 시스템 리소스처럼 액세스 할 수 없습니다 (즉, File 클래스를 통해) 대신에, 당신은 AudioSystem.getAudioInputStream

에 전달하면 경우에 할 수있는 URL을 반환합니다 Class#getResource을 사용해야합니다 당신은 같은 것을 사용할 수

...이 예에서

clip.open(AudioSystem.getAudioInputStream(getClass().getResource("/path/to/resources/soundfile.wav"))); 

는 경로는 클래스 인스턴스의 패키지 위치를 기준으로합니다. 즉, 리소스가 다른 디렉토리에있는 경우 리소스에 대한 전체 경로를 제공해야합니다.

관련 문제