You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Christopher Blunck <bl...@gst.com> on 2001/12/19 23:27:36 UTC
Manifest.java class - Question on length field
Hello-
I'm using jakarta-ant-1.4.1 and I noticed that in
org.apache.tools.ant.taskdefs.Manifest that the MAX_LINE_LENGTH is set
to 70. I'm wondering why that number was chosen. Here is why...
I'm building a J2EE application using Ant as my build and assembly
tool. I have dependancies amongst my EJB components and (as such) I'm
using the Class-Path: feature in the MANIFEST.MF of each EJB JAR to
declare those dependancies.
To accomplish this, I've written a dependancy.mf file in each of my
component's META-INF directory. After weblogic.ejbc finishes converting
my JAR to an EBJ JAR, I update the MANIFEST.MF file with the includes
from my dependancy.mf file like this:
<jar jarfile="${build.dir}/jar/ejb-${bean.name}.jar"
update="true"
manifest="${bean.src.dir}/META-INF/dependancy.mf"/>
Here is a snapshot of one of the dependancy.mf files (note the long
line):
Class-Path: echo-core.jar ejb-userprofile.jar
ejb-providerprofile.jar ejb-property.jar
(Apologies if my email client has mangled this line, but all the entries
are on the same line and there is a carriage return at the end of the
line).
When the JAR task in ant completes the re-jar'ing of my EJB, the
output'ed MANIFEST.MF file looks like this:
Class-Path: echo-core.jar ejb-userprofile.jar ejb-prov
iderprofile.jar ejb-property.jar
I may have screwed up the splicing of ejb-providerprofile.jar, but I'm
sure you all get the point ;-).
WebLogic obviously can't correctly deploy this EJB because the
Class-Path line is incomplete or incorrect. (Whatever you want to call
it).
I made a change to your Manifest.java file and made the MAX_LINE_LENGTH
300 (instead of 70) and the Class-Path line was correctly generated.
But I'm still left wondering why it was set to 70 to begin with...
-c
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
RE: Manifest.java class - Question on length field
Posted by Conor MacNeill <co...@cortexebusiness.com.au>.
> From: Christopher Blunck [mailto:blunck@gst.com]
> Hello-
>
> I'm using jakarta-ant-1.4.1 and I noticed that in
> org.apache.tools.ant.taskdefs.Manifest that the MAX_LINE_LENGTH is set
> to 70. I'm wondering why that number was chosen. Here is why...
It was chosen because that is what the Jar Manifest specification published
by Sun requires.
>
> I'm building a J2EE application using Ant as my build and assembly
> tool. I have dependancies amongst my EJB components and (as such) I'm
> using the Class-Path: feature in the MANIFEST.MF of each EJB JAR to
> declare those dependancies.
>
> To accomplish this, I've written a dependancy.mf file in each of my
> component's META-INF directory. After weblogic.ejbc finishes converting
> my JAR to an EBJ JAR, I update the MANIFEST.MF file with the includes
> from my dependancy.mf file like this:
>
> <jar jarfile="${build.dir}/jar/ejb-${bean.name}.jar"
> update="true"
> manifest="${bean.src.dir}/META-INF/dependancy.mf"/>
>
>
> Here is a snapshot of one of the dependancy.mf files (note the long
> line):
> Class-Path: echo-core.jar ejb-userprofile.jar
> ejb-providerprofile.jar ejb-property.jar
>
> (Apologies if my email client has mangled this line, but all the entries
> are on the same line and there is a carriage return at the end of the
> line).
>
> When the JAR task in ant completes the re-jar'ing of my EJB, the
> output'ed MANIFEST.MF file looks like this:
> Class-Path: echo-core.jar ejb-userprofile.jar ejb-prov
> iderprofile.jar ejb-property.jar
>
This is a valid structure for Manifest files. The next line is a
continuation line and begins with a space. Again according to the spec.
>
> I may have screwed up the splicing of ejb-providerprofile.jar, but I'm
> sure you all get the point ;-).
>
> WebLogic obviously can't correctly deploy this EJB because the
> Class-Path line is incomplete or incorrect. (Whatever you want to call
> it).
It may be true that weblogic can't handle it but it is not incomplete or
incorrect. I have actually been looking into this issue already. I think the
problem may be in Weblogic, but perhaps we should add a flag to ant to turn
off wrapping in the Manifests.
>
> I made a change to your Manifest.java file and made the MAX_LINE_LENGTH
> 300 (instead of 70) and the Class-Path line was correctly generated.
> But I'm still left wondering why it was set to 70 to begin with...
>
Read the spec :-)
Conor
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>