You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by "Putter, S.M.J. de" <s....@student.tue.nl> on 2013/07/15 17:38:40 UTC
DeploymentException: cannot fully load class
Dear all,
I get a DeploymentException when trying to deploy an ear file.
The ear file is setup as follows:
- META-INF/MANIFEST.MF
- BI3_Remote-client.jar
- BI3_Remote-ejb.jar
For brevity, I will refer to BI3_Remote-client.jar as client.jar and to BI3_Remote-ejb.jar as ejb.jar.
Client.jar refers to ejb.jar via its manifest through ClassPath.
Ejb.jar has a bean implementing the BI3_RemoteInterface remote business interface. A simple method of the BI3_RemoteInterface is invoked by the main class of client.jar.
I get the following error, indicating failure to deploy due to a problem with BI3_RemoteInterface:
2013-07-15 16:31:28,058 ERROR [DeployTool] Error:
org.apache.geronimo.common.DeploymentException: Unable to deploy BI3_Remote-ear.ear: Could not fully load class: lqs.ejb.spec.counterexample.BI3_Remote_client
due to:Llqs/ejb/spec/counterexample/BI3_RemoteInterface;
in classLoader:
GeronimoClassLoader[default.BI3_Remote-ear_BI3_Remote-client.jar-DEPLOYMENT_0.0.
0.1373898687178 [443]]
at org.apache.geronimo.deployment.cli.CommandDeploy.runCommand(CommandDeploy.java:43)
at org.apache.geronimo.deployment.cli.CommandDistribute.executeOnline(CommandDistribute.java:148)
at org.apache.geronimo.deployment.cli.CommandDistribute.execute(CommandDistribute.java:124)
at org.apache.geronimo.deployment.cli.DeployTool.execute(DeployTool.java:171)
at org.apache.geronimo.system.main.MainBridge.execute(MainBridge.java:64)
at org.apache.geronimo.main.Bootstrapper.start(Bootstrapper.java:88)
at org.apache.geronimo.main.Bootstrapper.execute(Bootstrapper.java:61)
at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65)
at org.apache.geronimo.cli.deployer.DeployerCLI.main(DeployerCLI.java:32)
I think somehow the ejb.jar does not get linked to the client.jar. But I cannot see why, as the ejb.jar is found through the manifest. Is there anything I’m missing? I cannot find any hints in the logs. The source code attached to this e-mail.
Thanks in advance.
Sander
RE: DeploymentException: cannot fully load class
Posted by Rajender <mr...@gmail.com>.
Dear All ,
can some one post a working example EAR to solve this problem?
Thanks and regards
Rajender
--
View this message in context: http://apache-geronimo.328035.n3.nabble.com/DeploymentException-cannot-fully-load-class-tp3987060p3990896.html
Sent from the Users mailing list archive at Nabble.com.
RE: DeploymentException: cannot fully load class
Posted by "Putter, S.M.J. de" <s....@student.tue.nl>.
Hi,
Thanks for your help. I managed to get the application working with your suggestions.
The specification is indeed ambiguous. Other than an example stating that the app-client should not have access to EJB jar files, I haven't found anything explicit on this (not even in Sectino 8.2). Do you of more explicit rules set out by the spec that prevent app-clients to have access to EJB jar files? I'm interested in this, as I'm doing research on the conformance of EJB application servers to a set of requirements listed in the EJB specification.
Best Regards,
Sander
________________________________
Van: Ivan [xhhsld@gmail.com]
Verzonden: donderdag 18 juli 2013 4:07
Aan: user@geronimo.apache.org
Onderwerp: Re: DeploymentException: cannot fully load class
Hi,
For the class visibility, it is a little ambiguous for the app client. The client applications should not have access to ejb jar files in the ear file, I would suggest to use a common jar file, and share that for ejb and client application.
You may refer to Java EE 6 Spec, EE 8.3.3
Hope it helps.
2013/7/15 Putter, S.M.J. de <s....@student.tue.nl>>
Dear all,
I get a DeploymentException when trying to deploy an ear file.
The ear file is setup as follows:
- META-INF/MANIFEST.MF
- BI3_Remote-client.jar
- BI3_Remote-ejb.jar
For brevity, I will refer to BI3_Remote-client.jar as client.jar and to BI3_Remote-ejb.jar as ejb.jar.
Client.jar refers to ejb.jar via its manifest through ClassPath.
Ejb.jar has a bean implementing the BI3_RemoteInterface remote business interface. A simple method of the BI3_RemoteInterface is invoked by the main class of client.jar.
I get the following error, indicating failure to deploy due to a problem with BI3_RemoteInterface:
2013-07-15 16:31:28,058 ERROR [DeployTool] Error:
org.apache.geronimo.common.DeploymentException: Unable to deploy BI3_Remote-ear.ear: Could not fully load class: lqs.ejb.spec.counterexample.BI3_Remote_client
due to:Llqs/ejb/spec/counterexample/BI3_RemoteInterface;
in classLoader:
GeronimoClassLoader[default.BI3_Remote-ear_BI3_Remote-client.jar-DEPLOYMENT_0.0.
0.1373898687178 [443]]
at org.apache.geronimo.deployment.cli.CommandDeploy.runCommand(CommandDeploy.java:43)
at org.apache.geronimo.deployment.cli.CommandDistribute.executeOnline(CommandDistribute.java:148)
at org.apache.geronimo.deployment.cli.CommandDistribute.execute(CommandDistribute.java:124)
at org.apache.geronimo.deployment.cli.DeployTool.execute(DeployTool.java:171)
at org.apache.geronimo.system.main.MainBridge.execute(MainBridge.java:64)
at org.apache.geronimo.main.Bootstrapper.start(Bootstrapper.java:88)
at org.apache.geronimo.main.Bootstrapper.execute(Bootstrapper.java:61)
at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65)
at org.apache.geronimo.cli.deployer.DeployerCLI.main(DeployerCLI.java:32)
I think somehow the ejb.jar does not get linked to the client.jar. But I cannot see why, as the ejb.jar is found through the manifest. Is there anything I’m missing? I cannot find any hints in the logs. The source code attached to this e-mail.
Thanks in advance.
Sander
--
Ivan
Re: DeploymentException: cannot fully load class
Posted by Ivan <xh...@gmail.com>.
Hi,
For the class visibility, it is a little ambiguous for the app client. The
client applications should not have access to ejb jar files in the ear
file, I would suggest to use a common jar file, and share that for ejb and
client application.
You may refer to Java EE 6 Spec, EE 8.3.3
Hope it helps.
2013/7/15 Putter, S.M.J. de <s....@student.tue.nl>
> Dear all,
>
>
>
> I get a DeploymentException when trying to deploy an ear file.
>
> The ear file is setup as follows:
>
>
>
> - META-INF/MANIFEST.MF
>
> - BI3_Remote-client.jar
>
> - BI3_Remote-ejb.jar
>
>
>
> For brevity, I will refer to BI3_Remote-client.jar as client.jar and to
> BI3_Remote-ejb.jar as ejb.jar.
>
>
>
> Client.jar refers to ejb.jar via its manifest through ClassPath.
>
> Ejb.jar has a bean implementing the BI3_RemoteInterface remote business
> interface. A simple method of the BI3_RemoteInterface is invoked by the
> main class of client.jar.
>
>
>
> I get the following error, indicating failure to deploy due to a problem
> with BI3_RemoteInterface:
>
>
>
> 2013-07-15 16:31:28,058 ERROR [DeployTool] Error:
>
> org.apache.geronimo.common.DeploymentException: Unable to deploy
> BI3_Remote-ear.ear: Could not fully load class:
> lqs.ejb.spec.counterexample.BI3_Remote_client
>
> due to:Llqs/ejb/spec/counterexample/BI3_RemoteInterface;
>
> in classLoader:
>
>
> GeronimoClassLoader[default.BI3_Remote-ear_BI3_Remote-client.jar-DEPLOYMENT_0.0.
>
> 0.1373898687178 [443]]
>
>
>
> at
> org.apache.geronimo.deployment.cli.CommandDeploy.runCommand(CommandDeploy.java:43)
>
> at
> org.apache.geronimo.deployment.cli.CommandDistribute.executeOnline(CommandDistribute.java:148)
>
> at
> org.apache.geronimo.deployment.cli.CommandDistribute.execute(CommandDistribute.java:124)
>
> at
> org.apache.geronimo.deployment.cli.DeployTool.execute(DeployTool.java:171)
>
> at
> org.apache.geronimo.system.main.MainBridge.execute(MainBridge.java:64)
>
> at
> org.apache.geronimo.main.Bootstrapper.start(Bootstrapper.java:88)
>
> at
> org.apache.geronimo.main.Bootstrapper.execute(Bootstrapper.java:61)
>
> at
> org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65)
>
> at
> org.apache.geronimo.cli.deployer.DeployerCLI.main(DeployerCLI.java:32)
>
>
>
> I think somehow the ejb.jar does not get linked to the client.jar. But I
> cannot see why, as the ejb.jar is found through the manifest. Is there
> anything I’m missing? I cannot find any hints in the logs. The source code
> attached to this e-mail.
>
>
>
> Thanks in advance.
>
> Sander
>
--
Ivan