J'ai compilé un projet java dans un fichier Jar et j'ai des problèmes pour l'exécuter.Problème lors de l'exécution d'un fichier Jar
Quand je lance:
java -jar myJar.jar
que je reçois l'erreur suivante
Could not find the main class: myClass
Le fichier de classe ne sont pas dans le répertoire racine du pot, donc j'ai essayé de changer le chemin du principal classe pour correspondre au chemin d'accès au fichier de classe et je reçois le même problème.
Est-ce que je devrais aplatir la structure de fichier? Si oui, comment puis-je faire cela? J'utilise Ant pour construire le fichier Jar si c'est utile.
MISE À JOUR
Voici le contenu du pot et les sections pertinentes Ant, j'ai changé le nom de l'entreprise où je travaille à « org »:
META-INF/
META-INF/MANIFEST.MF
dataAccessLayer/
dataAccessLayer/databaseTest.class
org/
org/eventService/
org/eventService/DatabaseObject.class
org/eventService/DatabaseObjectFactory.class
org/eventService/DbEventClientImpl$HearBeatMonitor.class
org/eventService/DbEventClientImpl.class
org/eventService/EmptyQueryListException.class
org/eventService/EventHandlerWorkItem.class
org/eventService/EventProcessor.class
org/eventService/EventTypeEnum.class
org/eventService/EventWorkQueue$MonitorThread.class
org/eventService/EventWorkQueue$PoolWorker.class
org/eventService/EventWorkQueue.class
org/eventService/FailedToLoadDriverException.class
org/eventService/IConnectionFailureListener.class
org/eventService/InvalidEventTypeException.class
org/eventService/JdbcInterfaceConnection.class
org/eventService/NullArgumentException.class
org/eventService/OracleDatabaseObject.class
org/eventService/ProactiveClientEventLogger.class
org/eventService/ProactiveClientEventLoggerException.class
org/eventService/PropertyMap.class
org/eventService/SQLServerDatabaseObject.class
org/eventService/TestHarness.class
org/eventService/Utilities.class
Et la cible ant:
<target name="compile" depends="init" description="compile the source ">
<javac srcdir="src" destdir="bin" classpathref="project.class.path"/>
</target>
<target name="buildjar" description="build jar file" depends="compile">
<mkdir dir="dist"/>
<jar destfile="dist/myJar.jar" basedir="bin" includes="**/*.class" >
<manifest>
<attribute name="Main-Class" value="org.eventService.ProactiveClientEventLogger"/>
</manifest>
</jar>
</target>
nous Afficher le contenu du manifeste. Si ce n'est pas trop grand, montrez-nous la liste du fichier jar. –
Montrez-nous le contenu du manifeste, pas seulement la tâche de fourmis qui le crée. –
Que contient votre fichier MANIFEST.MF? Est-ce que org.eventService.ProactiveClientEventLogger a une méthode main()? – mipadi