Maven을 사용하여 JAR의 "META-INF / services"폴더에 구성 파일을 포함하는 방법
Maven을 사용하여 빌드 된 Eclipse에서 Java 프로젝트를 작업 중입니다. 이전 프로젝트의 일부 재활용 코드를 사용하고 있고 중요한 클래스 중 하나는 특정 이름을 가진 JAR의 "META-INF / services"폴더에서 파일을 다음이 파일의 텍스트를 구문 분석합니다. 이 특정 예제에서는 Java 인터페이스 이름을 가진 파일을 다음 파일 내부에서 구현의 클래스 이름을 가져옵니다.
그래서 기본적으로 내가하려는 목적 JAR의 "META-INF / services"폴더에 파일 이름 (X)과 한 줄의 텍스트 (Y)가있는 파일을 포함하는 것 입니다. POM 파일에 속성을 지정하여 Maven을 사용하여 수행해야 아마도 생각하지만 내 연구는 아무것도 밝혀지지 않습니다. META 파일을 하드 코딩하거나 수동으로 입력하면 안됩니다.
미리 감사드립니다.
위치 로 새 소스 폴더 를 src/main/resources
만든 다음 META-INF/services
거기에 폴더 를 만들고 FQCN 파일에 만들었습니다. 그러면 자동으로 jar 파일에 복사됩니다. 따라서 다음을 사용합니다.
Project
| src
| | main
| | java
| | [your source code]
| | resources
| | META-INF
| | services
| | [your service files]
Gradle은 기본 소스 세트가있는 점은 주목할 가치가 있습니다.
기본적으로 Maven은 다음 위치에서 리소스를 찾습니다.
src/main/resources
그래서 그것을 넣어
src/main/resources/META-INF/services
또는 프로젝트가 표준 디렉토리 구조를 사용 하지 않는 경우 (단순히 대체 리소스 또는 디렉토리를 사용하려는 경우) POM에 파일 리소스 디렉토리를 수동으로 지정할 수 있습니다 .
를 들어 예 프로젝트 디렉토리의 루트에있는 META-INF/services
라는 폴더에있는 경우 resources
다음과 같이 지정할 수 있습니다.
<project>
...
<build>
...
<resources>
<resource>
<directory>resources</directory>
</resource>
</resources>
...
</build>
...
</project>
사용하여 여러이를 <resource>
요소 를 추가하여 여러 디렉토리를 지정할 수 있습니다 .
'ProgramingTip' 카테고리의 다른 글
seq_along이 작동하지만 seq가 의도하지 않은 결과를 생성하는 경우의 예는 무엇입니까? (0) | 2020.11.17 |
---|---|
Tomcat 웹 앱을 배포 해제 할 때 파일 잠금을 방지하는 방법은 무엇입니까? (0) | 2020.11.17 |
몽구스 연결 오류가 (0) | 2020.11.16 |
MongoDB에서 Enum을 많이로 저장 (0) | 2020.11.16 |
CAST DECIMAL을 INT로 (0) | 2020.11.16 |