[ 
http://issues.apache.org/jira/browse/GERONIMO-2583?page=comments#action_12454545
 ] 
            
Rakesh Midha commented on GERONIMO-2583:
----------------------------------------


David, I think I agree with your point. You are right, it is not acceptable to 
include hot deployer classes in any other configuration. My mistake I didn't 
think it from that angle.

Actually I added dependency on geronimo-hot-deploy and geronimo-system in 
config/geronimo-gbean-deployer just to make classloader hierarchy cleaner. It 
is not essential for geronimo-gbean-deployer to be dependent on 
geronimo-hot-deploy and geronimo-system.

Only dependency required to get hot-deployer working is dependency of 
config/geronimo-gbean-deployer  on geronimo-deploy-jsr88. I think that is 
acceptable. Right?

So summarising this : 
There are two ways to solve this problem:
1. Add only 
+        <dependency>
+            <groupId>org.apache.geronimo.modules</groupId>
+            <artifactId>geronimo-deploy-jsr88</artifactId>
+            <version>${version}</version>
+        </dependency>
in config\geronimo-gbean-deployer

2. Move ConfigIdExtractor to geronimo-deploy-config, but this will require 
additional dependency of geronimo-deploy-config on geronimo-system, 
geronimo-deployment and geronimo-j2ee-deployment_1.1_spec

I still believe Method 1 is a clean way to get this done. I think it is 
essential that it is finalized and committed as soon as possible because I 
think it is a blocker on hot-deployment functionality.

Please let me know what you think of it. I am doing a complete build and test 
run to make sure that Method 1 doesn't fail anything. Will post a patch with 
changes required for method 1 or Method 2 which ever we decide to go with.






> java.lang.NoClassDefFoundError: 
> org/apache/geronimo/deployment/plugin/ConfigIDExtractor
> ---------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-2583
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2583
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: Hot Deploy Dir
>    Affects Versions: 1.2
>         Environment: Windows Xp, should be valid for all platforms
>            Reporter: Rakesh Midha
>             Fix For: 1.2
>
>         Attachments: hotdeploygbean.patch
>
>
> Hello
> This issue was discussed before in 
> http://www.mail-archive.com/[email protected]/msg28048.html and I think 
> the patch was provided as a part of M2 migration in 
> http://issues.apache.org/jira/browse/GERONIMO-2067#action_12423814 (It says 
> any other issue open new JIRA, so opening this one)
> I downloaded latest trunk, and tried to use hot-deployer. Every time I try to 
> use hot-deployer I get exception.
> java.lang.NoClassDefFoundError: 
> org/apache/geronimo/deployment/plugin/ConfigIDExtractor
>         at java.lang.ClassLoader.defineClass0(Native Method)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
>         at 
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
> 3)
>         at 
> org.apache.geronimo.kernel.classloader.JarFileClassLoader.access$200(
> JarFileClassLoader.java:52)
>         at 
> org.apache.geronimo.kernel.classloader.JarFileClassLoader$6.run(JarFi
> leClassLoader.java:298)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at 
> org.apache.geronimo.kernel.classloader.JarFileClassLoader.findClass(J
> arFileClassLoader.java:250)
>         at 
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(Mu
> ltiParentClassLoader.java:292)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>         at 
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(Mu
> ltiParentClassLoader.java:276)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>         at 
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(Mu
> ltiParentClassLoader.java:276)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:141)
>         at 
> org.apache.geronimo.deployment.hot.DirectoryMonitor.class$(DirectoryM
> onitor.java:47)
>         at 
> org.apache.geronimo.deployment.hot.DirectoryMonitor.calculateModuleId
> (DirectoryMonitor.java:369)
>         at 
> org.apache.geronimo.deployment.hot.DirectoryMonitor.initialize(Direct
> oryMonitor.java:238)
>         at 
> org.apache.geronimo.deployment.hot.DirectoryMonitor.run(DirectoryMoni
> tor.java:214)
>         at java.lang.Thread.run(Thread.java:534)
> The class is in geronimo-deploy-jsr88, and hot-deploy pom.xml already shows 
> hot-deploy to be dependent on geronimo-deploy-jsr88, which means the above 
> class should be available. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to