Comment dois-je configurer le classpath que rmiregistry utilise?

Je suis en train de faire une Java RMI application client/serveur. Je suis en cours d'exécution dans les problèmes de démarrage du serveur côté de mon application, comme elle continue de s'exécuter dans un ClassNotFoundException lors de l'appel à la base de Registre.méthode bind() lorsque je tente de démarrer le serveur de l'application.

J'ai commencé avec le tutoriel ici: http://docs.oracle.com/javase/1.5.0/docs/guide/rmi/hello/hello-world.html. Après avoir suivi ces instructions, il était d'abord lancer une ClassNotFoundException se plaindre qu'il ne trouve pas "par exemple.bonjour.Bonjour". J'ai été en mesure de résoudre que par le démarrage de l'rmiregistry DE la destDir répertoire dans le tutoriel, depuis rmiregistry, apparemment, utilise son premier répertoire de départ dans le cadre de son classpath.

J'ai commencé sur mon autre application de test suite, et j'ai été très bien jusqu'à ce que je commencé à utiliser de la troisième partie des fichiers jar dans ma classe de serveur. Maintenant Registre.bind() renvoie une ClassNotFoundException si mon serveur références de classe n'importe quoi dans n'importe quel fichier jar depuis le rmiregistry application ne sais pas à propos de ces fichiers jar.

Aussi loin que je peux dire, rmiregistry n'accepte pas n'importe quelle sorte de chemin de classe de démarrage arg, alors je me demandais comment je peux lui dire ce qu'il classpath je tiens à reconnaître. Selon le tutoriel ici: http://docs.oracle.com/javase/tutorial/rmi/running.html, "vous devez assurez-vous que le shell ou une fenêtre dans laquelle vous allez exécuter rmiregistry a pas la variable d'environnement CLASSPATH ensemble ou a une variable d'environnement CLASSPATH qui ne comprennent pas le chemin d'accès à toutes les classes que vous voulez téléchargé pour les clients de vos objets à distance." Cela sonne comme le contraire de ce dont j'ai besoin... ou suis-je le lire de façon incorrecte? Quelqu'un avait une réussite de départ d'un RMI client/serveur qui utilise tiers des pots (commons-io, commons-logging, et rmiio, dans mon cas)?

C'est sur Windows, par la manière.


Mise à jour
J'ai trouvé un moyen de contourner cela. Voir ma réponse ci-dessous.

Beau travail de troy. Comme un rappel amical, pouvez-vous s'il vous plaît poster une réponse à la question vous-même et puis accepter cette réponse afin que nous puissions fermer cette question? Aussi, vous devez accepter les réponses aux questions précédentes, si elles de résoudre votre problème.
Les Questions ne sont pas fermés ici parce qu'ils ont accepté de répondre.Ils sont fermés parce qu'ils sont des doublons ou non reproductible, ou hors-sujet, ou pour d'autres raisons de qualité.

OriginalL'auteur Adrian | 2012-02-25