2017-04-04 4 views
10

module declaration은 특히 모듈의 의존성을 정의합니다. 빌드 도구로 Maven을 사용하면 pom.xml에 이미이 (이상) 정보가 포함되어 있기 때문에 중복됩니다. 이를 바탕으로 Maven이 나를 위해 module-info.java을 생성 할 수 없었습니까?Maven이 모듈 선언을 생성 할 수 있습니까?

+2

하나의 단순한 이유 때문에 : 단일 종속성 내에서 이미 다중 Java 모듈 (종속성 자체가 아님)을 가질 수 있으므로 Maven에 해당 정보가있을 수 있습니까? – john16384

+3

모듈 선언이 중복되지 않습니다 ... pom 파일에서 "exports ..."와 동일한 것은 무엇입니까? 더욱이'requires java.sql'은 Maven이 이것을 어떻게 알아야합니까? 모듈 이름은? 무엇을 추측해야 하는가? 유물? 작동하지 않을 것입니다 .... Jigsaw 키워드에 대한 Maven DEV 목록을 읽는 것을 권장합니다 ... 그 외에도 전이 의존성은 어떻습니까? – khmarbaise

답변

6

대부분의 의존성이 실제로 모듈이기도합니다. 그러나 요구 사항은 pom.xml에 지정되지 않은 JDK/JRE의 모듈을 가리킬 수도 있습니다. 예, 의존성만을 살펴 본다면 아마도 대부분의 모듈이 필수 모듈 참조로 변형 될 수 있습니다.

하지만 모듈 설명자에는 개발자가 내린 결정에 기반한 훨씬 더 많은 정보가 포함되어 있습니다. 나는이 파일을 완전히 생성 할 수없는 이유를 자세히 설명하는 an article을 작성했습니다.

+2

하지만 아마도 일종의 기본 또는 최소 모듈 선언을 생성 할 수 있습니다. 필요한 모든 추가 정보 (개발자가 작성한 거부)는 pom (플러그인의 구성)을 통해 제공 될 수 있습니다. 이것으로 pom은 유일하고 유일한 구성 파일로 유지됩니다! pom과 함께 제공된 정보를 포함하는 bnd 파일, manifest 파일 또는 web.xml 파일을 생성하는 플러그인도 있습니다. – dermoritz

+2

실제로'jdeps' ('jdk-9/bin'에서)는 컴파일 된 코드를 기반으로 초기 디스크립터를 생성 할 수 있습니다. 그러나 손으로 조정해야하기 때문에 라이프 사이클의 일부가 될 수 없습니다. –