문제

편집하다:

나는 기본적으로 다음과 같이 실행 중입니다 문서화 된 문제. 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 파일을 생성하는 방법 또는 스프링 문제인지 확실하지 않습니다. 어느 쪽이든, 나는 해결 방법이 있습니다.

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