2009-06-29 5 views
1

EDIT:Maven зависимостей банка не могут быть использованы

Я в основном работает в следующем documented issue. Я использую плагин сборки maven для создания файла 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> 

Однако полученный файл баночка содержит только каталог 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)

ответ

2

Если вы посмотрите на onejar-maven-plugin. Он делает то, что вы хотите, прямолинейно.

+0

У меня не будет, конечно, так, спасибо! – predhme

+0

Кажется, что onejar делает именно то, чего я изначально пытался достичь, чтобы решить мою проблему. Большое спасибо! – predhme

0

Проблема заключалась в том, что я использовал «весна-Util msgstr "пространство имен в моем приложении. Хотя у меня были весенние бобы как зависимость от проекта, и поэтому она была добавлена ​​в мой путь к классам, обработчик пространства имен не мог быть разрешен. Поскольку я использую только список util: один раз я решил удалить его из контекста. Оттуда я смог построить свою банку без проблем. Я не уверен, что реальная проблема заключается в том, как сборка maven генерирует файл jar или это проблема с весной. В любом случае, у меня есть обходной путь.

Смежные вопросы