Gradle을 사용하여 구성 파일 또는 기타 리소스를 내 jar에 어떻게 추가합니까?
내 프로젝트 구조 :
src / main / java / com / perseus / .. — Java 패키지 (소스 파일)
src / main / java / config / *. xml — Spring 구성 파일
예상되는 jar 구조 :
com / perseus / .. — Java 패키지 (클래스 파일)
config / *. xml — Spring 구성 파일
답변
리소스에 대한 추가 디렉토리를 추가하는 방법을 검색하는이 게시물을 보았습니다. 누군가에게 유용 할 수있는 해결책을 찾았습니다. 이를 얻기위한 최종 구성은 다음과 같습니다.
sourceSets {
main {
resources {
srcDirs "src/main/resources", "src/main/configs"
}
}
}
답변
구성 파일을 src/main/java
에서 src/main/resources
.
답변
감사합니다. 기존 프로젝트를 Gradle로 마이그레이션하고 있었는데 프로젝트 구조를 변경하는 것이 마음에 들지 않았습니다.
이 정보가 초보자에게 유용 할 것이라고 생각했습니다.
다음은 내 ‘build.gradle’의 샘플 작업입니다.
version = '1.0.0'
jar {
baseName = 'analytics'
from('src/main/java') {
include 'config/**/*.xml'
}
manifest {
attributes 'Implementation-Title': 'Analytics Library', 'Implementation-Version': version
}
}
답변
기본적으로 추가하는 모든 파일 src/main/resources
은 jar에 포함됩니다.
어떤 이유로 든 해당 동작을 변경해야하는 경우를 구성하여 변경할 수 있습니다 sourceSets
.
설명서 의이 부분에는 모든 세부 정보가 있습니다.
답변
나는 같은 문제에 부딪쳤다. Java 패키지에 PNG 파일이 있는데 소스와 함께 최종 JAR로 내 보내지 않아 시작시 앱이 충돌했습니다 (파일을 찾을 수 없음).
위의 답변 중 어느 것도 내 문제를 해결하지 못했지만 Gradle 포럼에서 해결책을 찾았습니다. 내 build.gradle
파일에 다음을 추가했습니다 .
sourceSets.main.resources.srcDirs = [ "src/" ]
sourceSets.main.resources.includes = [ "**/*.png" ]
Gradle에 src
폴더 에서 리소스를 찾고 PNG 파일 만 포함하도록 요청합니다.
편집 : Eclipse를 사용하는 경우 실행 구성이 손상되고 main class not found
프로그램을 실행하려고 할 때 오류가 발생합니다. 이 문제를 해결하려면, 내가 찾은 유일한 해결책은 다른 디렉토리에 이미지 (들)을 이동하는 것입니다 res/
예를 들어, 등을 설정하는 srcDirs
대신 src/
.
