1

編集:

私は基本的に次の文書化された問題に遭遇しています。Mavenアセンブリプラグインを使用して、依存関係を含むjarファイルを生成しているため、プロジェクトを1つのファイルから実行できます。ただし、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ファイルが含まれないということですか?

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)

4

2 に答える 2

0

問題は、applicationContext で「spring-util」名前空間を使用していたことです。プロジェクトの依存関係として spring-beans があったため、クラスパスに追加されましたが、名前空間ハンドラーを解決できませんでした。util:list は 1 回しか使用しないため、コンテキストから削除することにしました。そこから、問題なくjarファイルを作成できました。本当の問題がmavenアセンブリがjarファイルを生成する方法にあるのか、それとも春の問題なのかはわかりません。いずれにせよ、私には回避策があります。

于 2009-06-29T18:42:42.300 に答える