2010-11-20 6 views
0

J'ai donc créé une application RMI java simple dans Eclipse en utilisant le plugin genady. Cela fonctionne très bien dans cet environnement mais ce serait bien si cela pouvait aussi être exécuté en dehors d'Eclipse.Créer un fichier jar pour une application RMI java

Dans Eclipse pour l'exécuter, je commence d'abord le registre RMI. Ensuite, j'active la création de stubs pour le serveur. Ensuite, je lance le serveur en tant qu'application RMI, puis je laisse Eclipse générer automatiquement le paramètre codebase. Enfin, je lance le client en tant qu'application RMI, en ajoutant la politique de sécurité des paramètres (laissez simplement éclipse en créer une pour moi).

Donc c'est assez simple vraiment.

Ma structure de projet est le suivant: J'ai 3 projets java distincts:

1) rmi commune

2) serveur rmi

3) client rmi

Le serveur et le client dépend du projet commun (l'avoir sur son chemin de compilation).

Dans le projet commun J'ai la description de l'interface à distance (essentiellement les méthodes que le client peut appeler à partir du serveur) et aussi une classe, qui est utilisée comme paramètre pour l'une des méthodes d'interface.

Le serveur est assez simple vraiment .. étend UnicastRemoteObject et implémente l'interface. Juste obtient le registre et se lie.

Le client n'est également pas très compliqué. Définit un gestionnaire de sécurité (nouveau gestionnaire de sécurité RMI) et recherche le serveur. En outre, il a une classe d'interface utilisateur, mais ce n'est pas si important.

Je me demande donc comment créer des fichiers jar exécutables à partir du client et du serveur. Idéalement, je voudrais démarrer le registre à partir de la ligne de commande, puis démarrer le serveur à partir de la CL et enfin le client de la même manière.

Pour une raison quelconque, eclipse ne me permet pas de générer un fichier exécutable pour ces projets, même s'ils ont tous les deux une méthode principale. J'ai essayé de créer un pot régulier mais ça ne marche pas car il ne trouve pas la classe principale.

J'apprécierais vraiment que quelqu'un puisse me dire comment exporter ce projet depuis eclipse afin qu'il puisse être exécuté à partir de la ligne de commande.

Répondre

0

C'est JAR, pas JAR. Vous en aurez besoin pour le client et l'autre pour le serveur. L'interface commune doit être dans les deux.

Si vous en avez, vous pouvez certainement déployer et exécuter les deux où vous voulez.

Si Eclipse est gênant, videz-le. Créez simplement les fichiers JAR avec les fichiers manifestes corrects à la main.

+0

Oui, je dois avoir au moins 2 pots. Mais je ne sais pas comment créer des pots manuellement pour les projets rmi. – dominos

+1

Les JAR ne sont que des fichiers zip glorifiés. La commande "jar" se trouve dans le JDK. Voir http://download.oracle.com/javase/tutorial/deployment/jar/ pour le tutoriel. –

+0

Et faire attention au tutoriel JAR exécutable: http://www.cs.princeton.edu/introcs/85application/jar/jar.html – duffymo

Questions connexes