[Design of POJO Server] - relative class-path entry resolution
by emuckenhuber
There seem to be some issues resolving relative Class-Path entries outside of a deployment.
Basically the problem is that the resolution of the name is just based on the top-level deployment unit. Which means that there can't be a reference to a lib outside this.
So if you e.g. have a lib (server/libs/test.jar) and .ear with a ejb.jar and a Class-Path entry like: ../../../libs/test.jar
The AbstractStructureDeployer.getRelativePath(...) resolves this as server/libs/test.jar - but when applying the structure it fails, because it can't find 'server/libs/test.jar' within the .ear.
The spec basically does not require this, but it does not say that it should not be allowed. It looks like that referencing libraries outside of the deployment was possible with AS4.
So i'm wondering if there are any other reasons against allowing the same in AS5?
In general this also seems limited how VFS resolves files, as it can't resolve files outside it's root context.
At the moment the bootstrap/vfs.xml is defining a permanent-root for the deploy/ directory. So resolving files outside of deploy/ would not work by default anyway.
Adding a parent directory as permanent-root as well, automatically resolves deploy/ as a child and the resolution could work - although i'm not really sure if this would conflict with the VFS temp/caching in any way?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4234114#4234114
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4234114
14 years, 11 months