간단한 maven 설치로 maven을 사용하여 jar 파일을 빌드하고 있습니다. src/main/resources
에 파일을 추가하면 classpath에서 파일을 찾을 수 있지만 해당 파일을 이동하려면 config 폴더가 있지만 config 폴더에서 파일을 이동하면 classpath에서 사라집니다.Maven 빌드를 클래스 패스에 추가 할 수있게하는 방법은 무엇입니까?
답변
src/main/resources
디렉토리에 아무것도 넣지 않으면 기본적으로 최종 *.jar
이됩니다.
*.jar
제대로로드되지 않습니다 (경로에 어쩌면 입력 - 오?) : 당신은 다른 프로젝트에서 그것을 참조하고이 클래스 경로에서 찾을 수없는 경우에, 당신은 그 두 가지 실수를했다
- 당신은 예를 들어, 리소스를 올바르게 해결되지 않습니다
/src/main/resources/conf/settings.properties
는classpath:conf/settings.properties
클래스 경로를 강화하는 것입니다 SRC의 하위 폴더/주/자원로 설정 파일을 가하고의 청소기 대안으로 클래스 경로에 볼 수있다 위치. Maven을 사용하는 것은 매우 쉽습니다. 예를 들어
, 새 폴더에/주요 SRC/설정을, 재산 파일을 배치하고 치어에 다음을 추가 SRC에서 지금부터
<build>
<resources>
<resource>
<directory>src/main/config</directory>
</resource>
</resources>
</build>
, 모든 파일 파일을/
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>my-config.properties</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
,691 : 그냥 빌드 섹션에 추가 : 주/설정는 클래스 패스 (필요한 경우 최종 항아리에서 그 중 일부를 제외 할 수 있습니다의 한 부분으로 간주된다
그래서 my-config.properties은 IDE에서 앱을 실행할 때 classpath에서 찾을 수 있지만 최종 배포에서는 jar 파일의 외부에 남습니다.
+1 | 이 기능에 대한 참조 문서를 살펴보십시오. http://maven.apache.org/pom.html#Resources – rwitzel
"클리너"로 문제를 해결할 수는 있지만 적어도 디렉토리 구조를 수정할 수 없습니다. 국제 대회 다음으로 항상 깨끗합니다. – StormeHawke
URL 프로토콜 "classpath :"는 Spring에만 해당됩니다. – simon