2012-05-14 16 views
7

Wiosna 3.1.1.RELEASE z wtyczką Apache Maven 3.0.3 i Maven Shade 1.6.Spring 3 NamespaceHandler z wtyczką Maven Shade

Korzystanie z mvn odcień wtyczki do pakowania artefakt w uber-jar, w tym jego zależnościami:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <version>1.6</version> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals> 
      <goal>shade</goal> 
     </goals> 
     <configuration> 
      <transformers> 
       <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
        <mainClass>com.MyApplication</mainClass> 
       </transformer> 
      </transformers> 
     </configuration> 
    </execution> 
</executions> 

wydaje się pakować po prostu w porządku, ale na wykonanie zarzuca kwestii Wiosna NamespaceHandler:

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 [spring/test-context.xml] 

Dotyczy to zarówno przestrzeni nazw uv, jak i p, ale można się spodziewać, że nie będzie to ograniczone do następujących:

xmlns:util="http://www.springframework.org/schema/util" 
xmlns:p="http://www.springframework.org/schema/p" 

Jeśli przepiszę właściwość lub listę (u ytek), problemy znikną.

Odpowiedz

17

Spróbuj dodać AppendingTransformer do swojej konfiguracji. Przykład wyraźnie wspomina o tym, że jest użyteczny dla procedur obsługi Spring.

+0

Awesome, dzięki, to jest rozwiązanie! –