Eclipse에 빌드 된 jar 파일 (A.jar)이 jar 파일에 포함 된 다른 jar 파일 (B.jar)에 의존합니다 파일로 저장되며 jarinjarloader를 통해 액세스됩니다. 이것은 그 코드는 속성이 b.JAR가에 포함 된 정보 파일 찾는데 실패다른 jar 파일의 jar 파일에서 특성 파일을 가져 오려고 시도합니다.
InputStream inStream = <Class>.getClassLoader().getResourceAsStream(propFile);
를 호출 할 때, 그 jar 파일 내부에 자바 코드에 액세스하기 위해 노력하고 있지만. 이 코드는 Eclipse에서 실행될 때 작동하므로 정확한 특성 파일이 있다는 것을 알고 있습니다.
A.jar을 압축 해제 한 다음 B.jar을 압축 해제 한 다음 결합 된 파일을 압축하려고 시도했지만 작동하지 않습니다. Manifest 파일을 살펴보면 Main-Class는 org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader입니다.
Manifest 파일을 변경할 수 있습니까 (예 : Rsrc-Class-Path에 뭔가 추가). 이게 효과가 있니? Rsrc-Class-Path는 이미 "./"을 포함하고 있지만, 분명히 속성 로더가 내 속성 파일을 볼 수 없습니다.
TIA,
그렉
아, IDE에서 빌드를 관리 할 때의 위험. jarinjarloader를 사용해야합니까? – Paul
약 15 개의 다른 jar 파일을 포함하는 실행 가능한 jar를 빌드하는 또 다른 방법을 말해 줄 수 있다면, 정말 기쁩니다. 없으면 jarinjarloader를 사용해야합니다. –
하나의 항아리를 제공해야합니까? 그렇다면 C. Ramseyer의 대답은 좋은 것입니다. 내 의견도 참조하십시오. – Paul