Je comprends que Maven est utilisé pour gérer les bibliothèques, mais je voulais faire un exemple simple qui, je pense, fonctionnera. Mais je suis coincé avec même si j'ai passé quelques heures à chercher et à essayer. Cela me dérange beaucoup, avant d'abandonner, je poste ici si quelqu'un peut m'aider.
Ce que je veux faire:
J'ai User.java et Main.java dans son propre dossier. Je veux construire User et en faire Jar. Et je veux utiliser User.jar dans mon application Main.java.
Ma configuration :
~/User/User.java ~/Main/Main.java
Utilisateur.java
public class User {
private String name;
int idx;
}
Main.java
public class Main {
public static void main(String[] args) {
User user = new User();
System.out.println(user);
}
}
Ce que j'ai essayé:
javac User.java
jar cf User.jar User.class
copié le fichier User.jar dans le dossier principal
javac -cp User.jar Main.java
java Main
donne une erreur
Exception dans le thread "main" java.lang.NoClassDefFoundError : Utilisateur sur Main.main (Main.java:5)
Je pense que donner le chemin de classe à jar résoudra
Java -cp User.jar Main
mais cela donne aussi une erreur
Erreur : Impossible de trouver ou de charger la classe principale Main, les deux génèrent une erreur
quel est le problème et résoudre?
Solution du problème
Tout d'abord, vos fichiers sont stockés dans différents packages,
~/User/User.java ~/Main/Main.java
et vous n'en avez pas import
dans votre Main.java.
Par défaut, la visibilité est le niveau privé du package.
Aucun commentaire:
Enregistrer un commentaire