문제

가 있는 경우,클래스 org.foobar.MyClass 고 그것을 두고 싶에 JAR 파일들은 항아리에 넣어의/org/foobar/디렉토리할 수 있습니에 넣어/bin/org/foobar/고 어떻게든 지정/bin/로 클래스 경로 안에 항아리까요?

도움이 되었습니까?

해결책

모든 사람 이이 작업을 수행하는 일반적인 방법은 항아리가 다른 일을하는 것을 본 적이 없습니다. jar의/org/foobar/directory에 항아리 파일에 클래스 org.foobar.myclass를 넣는 것입니다. 나는 비정상적인 일을하지 않는 사람 이이 병을 정상적으로 사용하는 것을 방해 할 것이기 때문에 다른 일을해야 할 좋은 이유를 상상할 수 없습니다.

다른 팁

당신은 당신의 앱이 의존하는 JAR 파일을 나열하는 당신의 매니페스트에 클래스-경로 속성을 포함시킬 수 있습니다. 경로는 실행 가능한 JAR의 위치와 관련하여 고려됩니다.

예를 들어 app.jar가 manifest.mf에 포함 된 경우

클래스-경로 : lib1.jar, lib/lib2.jar

그런 다음 JVM은 lib1.jar를 app.jar와 동일한 dir 및 lib2.jar를 포함하는 lib라는 하위 디렉토리에서 찾을 것으로 예상됩니다.

내가 믿는 당신이 이것을 달성할 수 있을 사용하여 매니페스트 파일입니다.제가 기억하기로,지정할 수 있는 위치의 특정한 파일에 항아리입니다.

JAR 파일의 이름은 클래스 이름과 일치해야합니다. 물론 이상한 일을하기 위해 사용자 정의 클래스 로더를 작성하지 않는 한.

JAR URL을 사용하여 JAR 파일 내에 "디렉토리"를 지정할 수 있습니다. 그러나 나는 생각하지 않습니다 URLClassLoader 이것을 올바르게 처리합니다 (시도되지 않음).

표준으로 존재하는 기능은 매니페스트에 다른 JAR 파일을 클래스 경로에 추가하는 것입니다.

왜 후자를 하시겠습니까? 패키지 이름을 기반으로 올바른 디렉토리에 넣는 것이 더 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top