comment définir par défaut principal de la classe en java?
J'ai 2 classes au sein d'un même ensemble. Les deux classes principales de la méthode en eux. Maintenant, je veux construire un fichier jar. Je veux créer 2 fichiers jar qui utilisent différentes fonctions principales en tant que principal par défaut.
par exemple
class A
{
public static void main(String args[])
{
//do something
}
}
class B
{
public static void main(String args[])
{
//do something
}
}
Comment puis-je le faire dans l'EDI NetBeans?
J'ai trouvé la réponse.
U peut le faire facilement dans netbeans:
1)clic droit sur le projet >propriétés > exécuter > sélectionnez la classe frm et dans la liste déroulante. Si simple dans netbeans. Netbeans rochers!
- il ne fonctionne pas pour moi. Je l'ai mis à la classe A, mais il est toujours en cours d'exécution de la vieille classe. Je crois que c'est un bug. C'est pourquoi je déteste netbeans. Il rend les choses simples dur.
- Cette réponse a fonctionné pour moi. Juste eu à mettre une main dans la classe et NetBeans détecte et l'exécuter
- Pour Eclipse (celui-ci s'affiche dans Google): stackoverflow.com/a/12811633/1599699
Vous devez vous connecter pour publier un commentaire.
Dans le fichier jar vous pouvez simplement ajouter ceci à votre manifeste.mft
Le fichier jar serait alors exécutable et appelle la bonne main.
Sur la façon de faire dans Netbeans vous pouvez regarder ce:
La production exécutable jar dans NetBeans
Cliquez-droit sur le nœud du projet dans les Projets de la fenêtre et choisissez Propriétés du Projet.
puis de trouver les exécuter, là, vous pouvez configurer votre classe principale,, **en fait à partir de netbeans par défaut aider
vous pouvez cliquer droit sur le projet, sélectionner "configuration", puis "Personnaliser", à partir de là, vous pouvez choisir votre classe principale.
En supposant que votre my.jar a un classe1 et classe2 avec l'un des principaux définis dans chaque, vous pouvez les appeler java comme ceci:
Si vous avez besoin de spécifier d'autres options pour java assurez-vous qu'ils sont avant de la my.jar
java -classpath my.jar class1
vous permet d'exécuter des Pots qui n'ont pas uneMain-Class
ensemble.Si vous êtes à la création de 2 fichiers JAR exécutable, chacun va avoir son propre fichier de manifeste, et chaque fichier de manifeste de spécifier la classe qui contient la
main()
méthode que vous souhaitez utiliser pour lancer l'exécution.Dans chaque fichier JAR, le manifeste sera un fichier avec le chemin suivant /nom à l'intérieur de la JAR -
META-INF/MANIFEST.MF
Il existe des moyens pour spécifier sinon les fichiers nommés comme un POT de manifeste à l'aide de la POT de paramètres de ligne de commande.
La classe spécifique que vous souhaitez utiliser est spécifié à l'aide de Principal-Classe: package.classname à l'intérieur de la META-INF/MANIFEST.MF fichier.
Que pour savoir comment faire cela dans Netbeans - pas sûr du haut de ma tête - j'ai l'habitude d'utiliser l'Ide et /ou Eclipse et généralement de construire le POT à travers ANT ou Maven de toute façon.
Si les deux pots que vous souhaitez créer, sont la plupart du temps le même, et la seule différence est la classe principale qui doit être démarré à partir de chaque, vous pouvez mettre toutes les classes dans un troisième bocal. Ensuite, créez deux pots avec juste un manifeste dans chaque. Dans le MANIFESTE.MF fichier, le nom de la classe d'entrée à l'aide de la
Main-Class
attribut.En outre, spécifier le
Class-Path
attribut. La valeur de ce qui devrait être le nom du fichier jar qui contient tout le code partagé. Alors déployer tous les trois fichiers jar dans le même répertoire. Bien sûr, si vous avez les bibliothèques de tiers, ceux-ci peuvent être répertoriés dans la Classe-attribut de Chemin d'accès trop.Vous pouvez définir l'attribut de Classe dans le fichier jar du manifeste pour pointer vers le fichier que vous souhaitez exécuter automatiquement.
Meilleure façon de gérer cela dans un script Ant. Vous pouvez créer 2 tâches différentes pour les 2 fichiers jar. Spécifier la classe d'Une classe principale dans le manifst fichier pour le premier pot. de même spécifier la classe B la classe principale dans le fichier de manifeste pour la deuxième pot.
vous pouvez facilement exécuter des tâches Ant de Netbeans.
Comme un commentaire, j'ai eu à permettre à un client d'exécuter une classe dans un bocal qui signifie que le fichier manifeste ne pouvait pas être modifié (ils ne pouvaient pas attendre pour le faire). Merci pour le post par Anthony et samy-delux commentaire, c'est ce que le client peut maintenant courir à l'accès principal de la classe spécifique:
Appuyez sur la touche F11 pour Construire et Exécuter le programme. Une fois que vous exécutez le programme, vous aurez une liste de classes. Sélectionnez votre classe principale de la liste et cliquez sur ok pour exécuter.
Dans Netbeans 11(Gladle Projet), suivez ces étapes:
Dans l'onglet
files>yourprojectname>
double-cliquez sur le fichier"build.gladle"
de jeu en ligne"mainClassName:'yourpackagepath.YourMainClass'"
Espérons que cette aide!