[ http://jira.codehaus.org/browse/MJAR-38?page=comments#action_66596 ] 

Steven Coco commented on MJAR-38:
---------------------------------

Hi folks.  Thanks for looking into all this.

I really would like to stress that thes attributes should not be forced into 
the manifest.  They must be defeatable.  One can see it make sense liberally 
re-using these attributes in an enterprise environment.  But in any kind of 
project that does not have and follow an externally-defined specification, 
these do not make any sense.  For instance, in a standalone application, these 
attributes are their own kind of ludacris.

A new user will also be confounded to find a specification for providing 
appropriate values for these does not exist.  And here comes JSR-277 
(http://jcp.org/en/jsr/detail?id=277), which is defining a module and 
versioning specification for Java

You might also note that you can include a Main-Class attribute in the mainfest 
and still be forced into having the extension attributes; and in such a 
manifest configuration, the main class is supposed to be the extension's 
installer program.  And in general, who knows what the plugin (the Java browser 
plugin) or Java Web Start might do with these Jars with extension 
specifications: which are not well-defined by the Jar author.

For myself: these are going to fully cripple Maven's Jar packaging.  I have to 
twiddle every manifest into shape before putting any Jar in service.

And I would extend these comments to the War plugin.


And on the subject of making a patch:

I got a ways into dropping the needed sources from SVN.  But AbstractJarMojo is 
importing org.codehaus.plexus.archiver.jar.JarArchiver which does not appear to 
get resolved by any of the dependencies declared in the POMs.  I couldn't 
figure out how the classpath was supposed to be set up.

Thanks again!

> Maven Puts Arbitrary Extension Definition in JAR Manifest by Default.
> ---------------------------------------------------------------------
>
>          Key: MJAR-38
>          URL: http://jira.codehaus.org/browse/MJAR-38
>      Project: Maven 2.x Jar Plugin
>         Type: Bug

>     Versions: 2.0
>  Environment: Maven version: 2.0.4
> Microsoft Windows XP [Version 5.1.2600]
>     Reporter: Steven Coco
>     Assignee: Mike Perham
>  Attachments: Jar Extension-Name Tester.zip, MavenArchiver.patch.1, 
> MavenArchiver.patch.1, MavenArchiver.patch.2, MavenArchiver.patch.3
>
>
>     I'm using the latest Maven release.  When I build my project, the 
> resulting Jar file's manifest contains an Extension-Name attribute along with 
> Specification and Implementation attributes.  The POM contains no mention 
> that this project is a Java optional package -- an "extension" (or an 
> extension of any other kind).
>     I don't know why Maven is doing that.
>     If Maven is doing this by default for some reason, it absolutely 
> shouldn't.  Maven should not identify my Jar as an optional package unless I 
> explicitly say so.  Jars are only extensions if explicitly created as such.
>      The name it uses for the extension name is the POM's <artifactId>.  
> That's not even a UID!

-- 
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

Reply via email to