[
http://jira.codehaus.org/browse/MASSEMBLY-360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=221257#action_221257
]
Bob Miers commented on MASSEMBLY-360:
-------------------------------------
This is in response to the problem of having the error:
Unable to locate Spring NamespaceHandler for XML schema namespace
[http://www.springframework.org/schema/tx]
I was getting this by running mvn assembly:assembly and then trying to run an
executable jar file.
I found a solution to this problem.
1) Don't use mvn assembly:assembly. Instead use the Maven shade Plugin, which
can accomplish the same thing.
2) In your \src\main\resources\META-INF, create 2 files: spring.handlers &
spring.schemas
3) Go to your local maven repo, and then locate the org.springframework
directory for the spring transaction package.
On Windows 7 this would be:
C:\Users\bsmith\.m2\repository\org\springframework\spring-tx\3.0.2.RELEASE\spring-tx-3.0.2.RELEASE.jar
[If you had a difference namespace error such as context, then go to the
spring-context directory.
4) Open up the spring-tx-3.0.2.RELEASE.jar file, and then append your
\src\main\resources\META-INF\spring.handlers file with the data found in
the jar file.
4B) Do the exact same thing for the spring.schemas file
5) Setup your pom.xml file as described by the maven-shade-plugin
documentation.
All you have to do is add in the <plugin>...</plugin>
6) run: mvn package
7) again try: java -jar theprogram-1.0-SNAPSHOT.jar
8) If you get another namespace error, again APPEND your
\src\main\resources\META-INF\spring.handlers
and spring.schemas file with the appropriate spring jar file.
> When using mulitple Spring dependencies, the files from META-INF (from the
> Spring jars) overwrite each other in an executable jar-with-dependencies.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: MASSEMBLY-360
> URL: http://jira.codehaus.org/browse/MASSEMBLY-360
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-2
> Environment: Windows XP, Java 5
> Reporter: Marielle Enderman
>
> I'm working on a Java 5 project with maven 2 and I need to deliver an
> executable jar file. In this project I'm using different Spring dependencies:
> <dependency>
> <groupId>org.springframework</groupId>
> <artifactId>spring-beans</artifactId>
> <version>2.5.5</version>
> </dependency>
> <dependency>
> <groupId>org.springframework</groupId>
> <artifactId>spring-context</artifactId>
> <version>2.5.5</version>
> </dependency>
> For maven packaging I'm using the maven-assembly plugin to create an
> executable jar with dependencies (using the jar-with-dependencies
> descriptor). Everything works fine, except that Spring's XSD files can't be
> found. At least: not all of them. The fact is: Every Spring JAR file contains
> a META-INF directory with files like spring.handlers and spring.schemas which
> contain list of locations of respectively namespace handlers and schemas.
> Unfortunately these files aren't merged during packaging so the META_INF of
> the executable JAR file only contains the last one added.
> This can result in errors like this:
> Example 1: The spring-context-2.5.xsd can't be found:
> WARN org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Ignored
> XML validation warning org.xml.sax.SAXParseException: schema_reference.4:
> Failed to read schema document
> 'http://www.springframework.org/schema/context/spring-context-2.5.xsd',
> because 1) could not find the document; 2) the document could not be read; 3)
> the root element of the document is not <xsd:schema>.
> Example 2: The NamespaceHandler for the spring context namespace can't be
> located:
> Exception in thread "main"
> org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
> Configuration problem: Unable to locate Spring NamespaceHandler for XML
> schema namespace [http://www.springframework.org/schema/context]
> When I manually merge the files, the executable JAR file works fine.
> I hope this problem can be solved.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira