문제

내 프로젝트에서 제 3 자 항아리를 사용해야합니다. 이 프로젝트는 스프링 프로젝트이며 JAR도 Spring을 사용하고 있습니다.

내 프로젝트에 제 3 자 항아리를 포함시킬 수있는 방법이 있습니까? 나는 3 부 항아리의 각각의 종속성을 찾기가 어렵다는 것을 알게되었습니다.

도움이 되었습니까?

해결책

문제가되지 않아야합니다. 응용 프로그램 컨텍스트는 일반적으로 동일한 JVM에서 서로 독립적으로로드 될 수 있습니다. 그러나 ClassPath의 리소스 파일에서 Bean 정의를로드하는 경우 (예 : classPathXmlApplicationContext), 파일의 위치와 이름이 타사 항아리와 충돌하지 않도록하십시오. 예를 들어, 클래스 경로의 다른 항아리에있는 "/applicationcontext.xml"에 있으면 문제가 발생합니다. 당신을 독특하게 만드십시오.

다른 팁

나는 당신이 "include"가 의미하는 바를 정확히 명확하지 않습니다.

제 3 자 항아리가 전쟁 프로젝트의 종속성으로 정의되면 전쟁이 포장 될 때 전쟁의 Web-Inf/Lib 폴더에 자동으로 번들로 연결됩니다. 전쟁 플러그인. 항아리의 모든 클래스는 클래스 경로에 있으므로 스프링 구성에서 참조 할 수 있습니다. 이것보다 더 구체적인 요구 사항이 있습니까?

또한 제 3 자 항아리가 제대로 정의 된 Maven 프로젝트 인 경우 종속성은 POM에 정의됩니다. 이러한 전이 의존성은 또한 전쟁에 묶여 있습니다 (비 서류로 정의하지 않는 한 범위 어떤 경우에는 그렇지 않을 수도 있습니다).

Maven Central 저장소에서 찾은 항아리 중 하나 ~해야 한다 모든 전이 의존성으로 정의됩니다. 해결하는 데 어려움이있는 경우 관련 Maven 자격 증명을 찾을 수 있도록 답변을 업데이트하십시오.

의견을 바탕으로 업데이트하십시오. JAR이 전쟁의 클래스 경로에 있으면 전쟁의 응용 프로그램 컨텍스트로 가져 와서 선언하는 스프링 구성 파일을 참조 할 수 있습니다. "jar : file : // jarname! /path/to/config.xml"형식으로 가져 오기 만 지정합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top