> Java > java지도 시간 > 예약된 키워드가 포함된 자동 생성 이름과 관련된 Java 9 모듈 종속성 문제를 해결하는 방법은 무엇입니까?

예약된 키워드가 포함된 자동 생성 이름과 관련된 Java 9 모듈 종속성 문제를 해결하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-28 15:02:10
원래의
470명이 탐색했습니다.

How to Resolve Java 9 Module Dependency Issues with Auto-Generated Names Containing Reserved Keywords?

Java 9에서 자동 생성된 이름에 대한 모듈 종속성을 해결할 수 없습니까?

이 문제는 자동 생성된 모듈과의 종속성이 있을 때 발생합니다. name에는 Java 9에서 예약된 키워드 "native"가 포함되어 있습니다. 결과적으로 이를 모듈에 대한 종속성으로 추가하는 것이 불가능해집니다. 설명자.

해결책:

이 문제를 해결하려면 두 가지 기본 접근 방식을 고려할 수 있습니다.

  1. 추가 자동 모듈 이름 속성:

    아티팩트 소유자는 META-INF/MANIFEST.MF 파일에 Automatic-Module-Name 속성을 ​​지정하는 아티팩트가 포함되어 있습니다. 이 속성은 모듈 설명자가 사용할 모듈 이름을 정의합니다. Automatic-Module-Name을 유효한 이름("네이티브" 제외)으로 설정하면 문제가 해결될 수 있습니다.

  2. 다음에 모듈 선언 추가 JAR:

    아티팩트 소유자는 다음을 사용하여 모듈 선언을 추가할 수 있습니다. module-info.java를 JAR 파일로 복사합니다. 이를 통해 모듈 이름을 명시적으로 지정할 수 있으므로 자동 생성된 이름을 피할 수 있습니다. 그러나 이 접근 방식은 라이브러리와 프레임워크가 상향식을 채택하므로 점진적인 마이그레이션이 필요합니다.

모듈 설명자 사양:

에 따르면 Java 9 모듈 선언 사양에서 모듈 이름은 마침표로 구분된 하나 이상의 Java 식별자로 구성됩니다. 이는 모듈 이름이 다음 규칙을 준수해야 함을 의미합니다.

  • 각 구성 요소는 유효한 Java 식별자(키워드 제외)여야 합니다.
  • 모듈 이름에 사용된 도메인 이름에 다음이 포함된 경우 특수 문자나 키워드는 밑줄로 변환해야 합니다.
  • 구성 요소가 식별자의 첫 번째 문자로 허용되지 않는 숫자 또는 기타 문자로 시작하는 경우 밑줄은 접두사로 시작되어야 합니다.

Java 9의 밑줄에 대한 참고 사항:

밑줄은 일반적으로 모듈 이름의 일부로 허용되지만 다음 사항에 유의하는 것이 중요합니다. 밑줄은 이제 Java 9의 키워드입니다. 따라서 밑줄을 초기 문자로 포함하는 식별자는 피해야 합니다. 예:

int _native; // Works fine
int _; // Causes an error in Java 9
로그인 후 복사

위 내용은 예약된 키워드가 포함된 자동 생성 이름과 관련된 Java 9 모듈 종속성 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿