[
https://jira.codehaus.org/browse/MJAR-156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306882#comment-306882
]
Heiko Kopp commented on MJAR-156:
---------------------------------
I'm having this problem too and the workaround is simply a workaround. This
should be fixed as soon as possible, as it is not obvious why the application
is not working and generates ClassNotFoundExceptions. Luckily I've checked the
generated MANIFEST.MF.
> Classpath created in manifest contains timestamp instead of the suffix
> "-SNAPSHOT"
> -----------------------------------------------------------------------------------
>
> Key: MJAR-156
> URL: https://jira.codehaus.org/browse/MJAR-156
> Project: Maven 2.x JAR Plugin
> Issue Type: Bug
> Affects Versions: 2.3.2, 2.4
> Environment: Win7 Pro SP1 (64 Bit), JDK 1.6.0_26 (32 Bit)
> Reporter: Markus KARG
> Attachments: Sample.zip
>
>
> Sometimes the JAR packager replaces a dependency's "-SNAPSHOT" suffix by a
> timestamp when calculating a corresponding "Class-Path:"-entry for all
> dependencies into the MANIFEST.MF file of the packaged JAR. This is
> problematic, as typically the dependency shipped together with the created
> JAR will NOT be renamed, but shipped WITH the suffix "-SNAPSHOT". The created
> JAR will at runtime not find the JAR due to the wrong suffix then
> ("ClassNotFoundException" will happen for all content in the dependency,
> obviously). Strange but true, this seem to happen only for SOME JARs and only
> in SOME particular situations, but I was not able to identify the root causes.
> Attached is a tiny MVN project containing a pom that will produce this
> behaviour.
> * How to demonstrate:
> - Unpack attached JAR
> - Manually deploy the dependency "webdav-jaxrs-1.2-SNAPSHOT.jar" found in
> subfolder "install-this-in-repo" into the local repository.
> - mvn clean package
> - "target\sample-1.0.0-SNAPSHOT.jar" contains wrong MANIFEST.MF Class-Path:
> entry now:
> Class-Path: webdav-jaxrs-1.2-20120621.141509-35.jar jsr311-api-1.1.1.jar
> (Sample output contained in ZIP\target!)
> Obviously "-SNAPSHOT" was replaced by "20120621.141509-35", what induces the
> problem that the actual dependency is not found, as its file ends still on
> "-SNAPSHOT" (by intention!). This scenario typically happens when both files
> end up in an EAR for example.
> * Expected Result:
> - Class-Path: webdav-jaxrs-1.2-SNAPSHOT.jar jsr311-api-1.1.1.jar
> * Actual Result:
> - Class-Path: webdav-jaxrs-1.2-20120621.141509-35.jar jsr311-api-1.1.1.jar
> * Workaround:
> - Provide a static MANIFEST.MF file. Drawback: Changing dependency induces
> manual corrections to the static file.
> - Fix the entry manually after each build. Drawback: Hard to automate this.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira