Maven Dependencies jar를 사용할 수 없습니다
-
21-08-2019 - |
문제
편집하다:
나는 기본적으로 다음과 같이 실행 중입니다 문서화 된 문제. Maven 어셈블리 플러그인을 사용하여 종속성이 포함 된 JAR 파일을 생성하여 프로젝트를 단일 파일에서 실행할 수 있도록합니다. 그러나 JAR 파일이 제대로 구축되지 않은 것 같습니다. 아래는이 문제를 해결하려는 시도였습니다. 전에이 문제를 해결 한 사람이 있습니까?
그래서 나는 모든 종속성을 포장하고 프로젝트 아티팩트 Jar가 포장되지 않은 JAR 파일을 작성하려고합니다.
나는 효과에 무언가를 시도했다
<assembly>
<id>jar-with-dependencies-packed</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<unpack>true</unpack>
<unpackOptions>
<includes>
<include>artifactname</include>
</includes>
</unpackOptions>
<scope>runtime</scope>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
그러나 결과 JAR 파일에는 Meta-Inf 디렉토리 만 포함되어 있습니다 ... 포장을 풀겠다고 말하지만 내 포함 만 포장을 풀면 원래 JAR 파일이 포함되지 않습니까?
항아리를 달리면 다음을받습니다
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace http://www.springframework.org/schema/util
Offending resource: class path resource [applicationContext.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)
at org.springframework.beans.fac
Tory.xml.BeanDefinitionParserdelegate.error (beandefinitionparserdelegate.java:281)
해결책
당신이 보았습니까? Onejar-Maven-Plugin. 그것은 당신이 원하는 것을 간단한 방식으로 수행합니다.
다른 팁
문제는 ApplicationContext에서 "Spring-util"네임 스페이스를 사용하고 있다는 것입니다. 프로젝트 의존성으로 스프링 빔을 가지고 있었기 때문에 클래스 경로에 추가되었지만 네임 스페이스 핸들러를 해결할 수 없었습니다. Util : List 만 사용하기 때문에 한 번은 컨텍스트에서 제거하기로 결정했습니다. 거기에서 나는 문제없이 항아리를 만들 수있었습니다. 실제 문제가 Maven Assembly가 JAR 파일을 생성하는 방법 또는 스프링 문제인지 확실하지 않습니다. 어느 쪽이든, 나는 해결 방법이 있습니다.