Bugs item #583152, was opened at 2002-07-17 20:43
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=583152&group_id=22866

Category: JBossServer
Group: v3.1
Status: Open
Resolution: None
Priority: 5
Submitted By: David Bergman (davber)
Assigned to: Nobody/Anonymous (nobody)
Summary: Wrong base for MANIFEST classpath

Initial Comment:
I know that the class loading works even though the 
manifest dependencies (via Class-Path) are not handled 
correctly (and you get WARNings).

But (don't hate me now): would it not be nice to have 
MainDeployer look in the right place, by treating JARs in 
the Class-Path the same way as directories, thereby 
getting correct deployment behavior.

The diff to get that proper behavior is

diff -r1.41 MainDeployer.java
897c897
<                   File parentDir = new File 
(sdi.localUrl.getPath()+"-contents");
---
>                 File parentDir = new File 
(sdi.localUrl.getPath() + "-contents").getParentFile();



A full description of this bug (yes, I know it is not crucial 
right now...) follows.

--------------------------------------------------------------------------------

When deploying modules in an EAR with MANIFEST-
relations between modules and utility libraries, the utility 
libraries are searched for in the module JAR, instead of 
at the application root, which is the correct behavior.

The manifest file looks like this:

Manifest-Version: 1.0
Class-Path: BarTools.jar


My EAR, FooApp.ear, has the following structure:

FooApp.ear
        META-INF
                application.xml
        FooEJB.jar
                META-INF
                        MANIFEST.MF  <---- 
this is the manifest file above
                org
                        foo
                        
        UsefulEJB.class
                                ... other 
working EJB stuff ...   
        BarTools.jar
                org
                        toolmaker
                        
        NiftyTool.class
                                ... other 
cool tools ...
        

I get the following output when deploying the application:

19:08:40,764 INFO  [EARDeployer] Init J2EE 
application: file:/C:/lang/java/jboss
/build/output/jboss-
3.1.0alpha/server/default/deploy/FooBar.ear
19:08:41,755 INFO  [EJBDeployer] looking for nested 
deployments in : file:/C:/la
ng/java/jboss/build/output/jboss-
3.1.0alpha/server/FooBatr/tmp/deploy/server/FooApp/dep
loy/FooApp.ear/75.FooApp.ear/FooEJB.jar
19:08:41,775 WARN  [MainDeployer] The manifest entry 
in file:/C:/lang/java/jboss/build/output/jboss-
3.1.0alpha/server/FooApp/tmp/deploy/server/FooApp/depl
oy/FooApp.ear/75.FooApp.ear-contents/FooEJB.jar 
references URL file:/C:/lang/java/jboss/build/output/jboss-
3.1.0alpha/server/FooApp/tmp/deploy/server/FooApp/depl
oy/FooApp.ear/75.FooApp.ear-contents/FooEJB.jar-
contents/BarTools.jar which could not be opened, entry 
ignored

The solution: treat directory and JAR equal in 
MainDeployer, so that the parent directory of the module 
is used as the base for the relative URLs in the manifest 
file.



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=583152&group_id=22866


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to