On Feb 6, 2008, at 9:32 AM, Dominique Laurent wrote:
Hi,
Just to let you know that the manifest (MANIFEST.MF) in
log4j-1.2.15.jar uses:
Name: org.apache.log4j
instead of
Name: org/apache/log4j/
Note the dot '.' instead of the slash '/'.
It means that the following piece of code:
String implementationVersion =
org
.apache.log4j.Appender.class.getPackage().getImplementationVersion();
System.out.println("implementationVersion: \"" +
implementationVersion + '"');
now returns null instead of implementationVersion: "1.2.15" as it
did in previous releases.
Could you please reset it to "Name: org/apache/log4j/" ?
Thanks in advance,
Best regards,
Dominique
I've confirmed it is a change from log4j 1.2.14 and earlier. It may
have been a mistake when writing the Maven POM file, but it may have
been intentional and needs a bit more research to see if there was a
motivation behind the change.
From
http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html#Manifest%20Specification
The individual sections define various attributes for packages or
files contained in this JAR file. Not all files in the JAR file need
to be listed in the manifest as entries, but all files which are to
be signed must be listed. The manifest file itself must not be
listed. Each section must start with an attribute with the name as
"Name", and the value must be a relative path to the file, or an
absolute URL referencing data outside the archive.
So the name definitely should be separated with slashes.
Could you file a bug report (http://issues.apache.org/bugzilla) for
this issue and specify the JVM vendor and version you were using.
Likely best to keep the "org.apache.log4j" entry and add a second
entry for "org/apache/log4j".
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]