Note that there are some explanatory texts on larger screens.

plurals
  1. POJava RMI NotBoundException while executing with ant
    primarykey
    data
    text
    <p>I'm trying to write a little game with Java RMI and I have to use Apache Ant to run it. Unfortunately, when I use ant to execute the server and the client jar, it crashes with a NotBoundException. But when I execute the jars via command line (java -jar ...), everything works fine. I can't figure out what's going wrong with the ant script.</p> <p>Important Server Code:</p> <pre><code>public class GameServer extends UnicastRemoteObject implements IGameServer { public GameServer() throws RemoteException { //... } // some methods here public static void main(String[] args) throws RemoteException { RemoteServer.setLog(System.out); // create new GameServer Object and make it available via the Registry LocateRegistry.createRegistry(Registry.REGISTRY_PORT); Registry registry = LocateRegistry.getRegistry(); GameServer server = new GameServer(); registry.rebind("GameServer", server); } } </code></pre> <p>Important Client Code:</p> <pre><code>public class GameClient extends UnicastRemoteObject implements IGameClient { public GameClient(String name) throws RemoteException, NotBoundException { this.name = name; Registry registry = LocateRegistry.getRegistry(); server = (IGameServer) registry.lookup("GameServer"); server.login(this.name, this); } // some methods here } </code></pre> <p>The Important Ant Code:</p> <pre><code>&lt;target name="jar" depends="compile"&gt; &lt;jar destfile="${export}/FlyHuntClient.jar"&gt; &lt;fileset dir="${build}" /&gt; &lt;fileset dir="." includes="res/**" /&gt; &lt;manifest&gt; &lt;attribute name="Main-Class" value="client.GameClientLauncher" /&gt; &lt;attribute name="Class-Path" value="./" /&gt; &lt;attribute name="Permissions" value="all-permissions" /&gt; &lt;/manifest&gt; &lt;/jar&gt; &lt;jar destfile="${export}/FlyHuntServer.jar"&gt; &lt;fileset dir="${build}" /&gt; &lt;manifest&gt; &lt;attribute name="Main-Class" value="server.GameServer" /&gt; &lt;attribute name="Class-Path" value="./" /&gt; &lt;attribute name="Permissions" value="all-permissions" /&gt; &lt;/manifest&gt; &lt;/jar&gt; &lt;/target&gt; &lt;target name="run"&gt; &lt;parallel&gt; &lt;java jar="${export}/FlyHuntServer.jar" fork="true" /&gt; &lt;java jar="${export}/FlyHuntClient.jar" fork="true" /&gt; &lt;/parallel&gt; &lt;/target&gt; </code></pre> <p>The Exception:</p> <pre><code>$ ant run Buildfile: [trimmed...]/build.xml run: [java] Nov 05, 2013 4:21:12 PM sun.rmi.server.UnicastServerRef logCall [java] Feiner: RMI TCP Connection(1)-127.0.0.1: [127.0.0.1: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)] [java] Nov 05, 2013 4:21:12 PM sun.rmi.server.UnicastServerRef logCall [java] Feiner: RMI TCP Connection(2)-127.0.0.1: [127.0.0.1: sun.rmi.registry.RegistryImpl[0:0:0, 0]: void rebind(java.lang.String, java.rmi.Remote)] [java] Nov 05, 2013 4:21:12 PM sun.rmi.server.UnicastServerRef logCallException [java] Fein: RMI TCP Connection(1)-127.0.0.1: [127.0.0.1] exception: [java] java.rmi.NotBoundException: GameServer [java] at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:137) [java] at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source) [java] at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:409) [java] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267) [java] at sun.rmi.transport.Transport$1.run(Transport.java:177) [java] at sun.rmi.transport.Transport$1.run(Transport.java:174) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [java] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [java] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [java] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [java] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [java] at java.lang.Thread.run(Thread.java:744) [java] [java] Nov 05, 2013 4:21:12 PM sun.rmi.server.UnicastServerRef logCall [java] Feiner: RMI TCP Connection(3)-127.0.0.1: [127.0.0.1: sun.rmi.transport.DGCImpl[0:0:0, 2]: java.rmi.dgc.Lease dirty(java.rmi.server.ObjID[], long, java.rmi.dgc.Lease)] [java] Exception in thread "main" java.rmi.NotBoundException: GameServer [java] at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:137) [java] at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source) [java] at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:409) [java] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267) [java] at sun.rmi.transport.Transport$1.run(Transport.java:177) [java] at sun.rmi.transport.Transport$1.run(Transport.java:174) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [java] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [java] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [java] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [java] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [java] at java.lang.Thread.run(Thread.java:744) [java] at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275) [java] at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252) [java] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:378) [java] at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) [java] at client.GameClient.&lt;init&gt;(Unknown Source) [java] at client.GameClientLauncher.main(Unknown Source) </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload