Maven依赖项无法使用

时间:2009-06-29 16:19:30

标签: java maven-2 assemblies iterable-unpacking

编辑:

我基本上遇到了以下documented issue。我正在使用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文件不包括在内?

当我运行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)

2 个答案:

答案 0 :(得分:2)

你看看onejar-maven-plugin。它以直截了当的方式做你想做的事。

答案 1 :(得分:0)

问题是我在applicationContext中使用了“spring-util”命名空间。虽然我将spring-beans作为项目依赖项,因此它被添加到我的类路径中,但是无法解析名称空间处理程序。由于我有一次只使用util:list,所以我决定将它从上下文中删除。从那里我能够毫无问题地建造我的罐子。我不确定真正的问题是否在maven程序集如何生成jar文件或者是否是一个弹簧问题。无论哪种方式,我都有一个解决方法。