Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

RMI Error Under Eclipse, Not Command Line

16 views
Skip to first unread message

Dale

unread,
Jul 7, 2004, 3:06:22 PM7/7/04
to
I should probably think more about this before posting, but I need to
leave this task now.... maybe someone has hit this one before and
can assist?

I've got an RMI client class that works perfectly well from the
command line:

cd workspace\rmiproj
set classpath=.
java rmiproggy.java

(at this point the application comes up, and calls another machine
using that SQLOrdersImpl_Stub object).

But when I run this same thing from within Eclipse, I get this:

java.rmi.UnmarshalException: error unmarshalling return; nested
exception is:
java.lang.ClassNotFoundException: SQLOrdersImpl_Stub (no security
manager: RMI class loader disabled)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at OrderThread.run(OrderThread.java:32)
Caused by: java.lang.ClassNotFoundException: SQLOrdersImpl_Stub (no
security manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
at java.rmi.server.RMIClassLoader$2.loadClass(Unknown Source)
at java.rmi.server.RMIClassLoader.loadClass(Unknown Source)
at sun.rmi.server.MarshalInputStream.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
... 3 more

It's failing on the following line:
orders = (SQLOrders) Naming.lookup(serviceName);

Again, same exact code running from the command line works perfectly.
WTH??

--Dale--

jayshao

unread,
Jul 7, 2004, 5:02:47 PM7/7/04
to
Dale,

Since Eclipse compiles the code itself, RMI support seems to be a bit
dodgy (classpath issues, etc.) There is probably some project
properties you need to adjust.

I've had great success using the RMI Plugin: http://www.genady.net/rmi/
to help me with the configuration and rmic stage of compilation, though
I admittedly only used it for a couple of school projects.

Jason

iksrazal

unread,
Jul 8, 2004, 9:25:49 AM7/8/04
to
DRS.U...@sengsational.com (Dale) wrote in message news:<8455e7ec.0407...@posting.google.com>...

> I should probably think more about this before posting, but I need to
> leave this task now.... maybe someone has hit this one before and
> can assist?
>
> I've got an RMI client class that works perfectly well from the
> command line:
>
> cd workspace\rmiproj
> set classpath=.
> java rmiproggy.java
>
> (at this point the application comes up, and calls another machine
> using that SQLOrdersImpl_Stub object).
>
> But when I run this same thing from within Eclipse, I get this:
>
> java.rmi.UnmarshalException: error unmarshalling return; nested
> exception is:

A fail-proof solution that will work everywhere - command line, linux,
ms and the gui's like eclipse - is to use ant:

To build:

<target name="rmi_compile" depends="prepare-src">
<echo message="Compiling dhl"/>

<javac
srcdir="${build.src.java}"
destdir="${build.dest.classes}"
deprecation="true"
failonerror="true" debug="true"
>

<include name="dhl/**/*.java"/>
<classpath refid="build.classpath" />
</javac>

<rmic classname="com.pegasus.user.AccessControlServer"
base="${build.dest.classes}"/>

</target>

to run:

<target name="run_rmi"
description="Launch the Login Client">
<java classname="com.pegasus.user.ui.LoginFrame" fork="yes" >
<classpath refid="run.classpath" />
<sysproperty key="pegasus.configdir"
value="${pegasus.dir}" />
<sysproperty key="java.rmi.server.hostname"
value="10.10.10.10:1099" />
<sysproperty key="java.security.policy"
value="policy.txt" />
</java>
</target>

HTH

Outsource to an American programmer living in brazil!
http://www.braziloutsource.com/
iksrazal

Dale

unread,
Jul 8, 2004, 5:47:48 PM7/8/04
to
Thanks - I found the 'free' version of said program on sourceforge and
it worked like a charm.

I think the issue was something very simple... My original project
had source and binaries in the same directory. So I ran rmic in the
one directory and the stub and skel where available when I ran from
the source directory. But Eclipse runs out of the bin directory, and
there were no stub and skel there! I thought it was something more
difficult than that.

With respect to the other poster, I've tried to get into ant, but just
never quite got there. Some day maybe. Thanks for the example.

--Dale--

"jayshao" <jay...@gmail.com> wrote in message news:<cchodn$c...@odak26.prod.google.com>...

0 new messages