소스 코드가없는 라이브러리 lib.jar
이 있다고 가정합니다 (또는 아직 모듈을 인식하지 못하는 일부 비 Java 언어로 작성되었습니다). lib.jar
에는 module-info.class
이없고 자동 모듈로 사용하고 싶지 않으므로 module-info.class
을 주입하고 싶습니다.모듈 선언을 JAR에 삽입하는 방법은 무엇입니까?
내가 먼저 다음 명령을 module-info.java
생성 :
jdeps --generate-module-info . lib.jar
이가 그런 일 발생한다고 가정
module lib {
exports package1;
exports package2;
}
그런 다음 나는 그것을 컴파일하려고를하지만 패키지 package1
및 package2
는 않기 때문에 javac
실패 존재하지 않음 :
> javac module-info.java
module-info.java:4: error: package is empty or does not exist: package1
물론 더미 클래스가 포함 된 package1
및 package2
디렉토리를 만들 수 있지만 더 좋은 방법이 있습니까?
내가이 명령을 사용할 때, 나는 여전히 오류 얻을 : 은 javac의의 module-info.java이 module-info.java:4> : 오류 : 패키지는 비어 있거나 존재하지 않습니다 : package1 나를 위해 효과가 없을 수도있는 아이디어가 있습니까? –
@TiagoSantos 패키지가 JAR에 있습니까? – ZhekaKozlov
네, 모든게 잘 보입니다, 나는 그것을 nullpointer에서 위의 솔루션을 사용하여 작업 할 수 있었다. 나는 당신의 솔루션이 더 우아하고, 유일한 문제는 나의 .jars와 작동하지 않는다는 것에 동의한다 :/2 가지 다른 것들에서 시도했다. –