![]() |
|
|
|||||||
| IDEs und Tools Fragen zu Programmierwerkzeugen (bspw. Eclipse, Netbeans, IntelliJ IDEA, JBuilder) |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Stammbenutzer
Kilobyte
Registriert seit: 06.02.2008
Fachbeiträge: 116
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo an alle Eclipse-Benutzer.
Mit Eclipse gibt es ja 2 Möglichkeiten des Exports. Einmal die Option "JAR file" und dann noch die Option "Runnable JAR" file. Wird ein lauffähgies JAR file ausschließlich über letztgenannte Option erstellt, oder kann dies auch mit der Option "JAR file" durchgeführt werden? Erstelle ich mein JAR file mit "Runnable JAR" ist die JAR-Datei ca. 7,5MB groß. Offensichtlich werden alle externen JAR-Archive die ich im BuildPath angegeben habe mit eingebunden. Die JAR-Datei läßt sich problemlos starten, ist jedoch riesengroß und es sind Bibliotheken eingebunden die nicht von mir sind (rechtliches Problem??). Mit der ersten Option, also nur "JAR file", beträgt die Größe der generierten Datei lediglich 580KB. Aber: Die kleine JAR-Datei läßt sich nicht starten und meldet mir ständig: "Could not find the main class" trotz existierender MANIFEST.MF mit dem Inhalt Code:
Manifest-Version: 1.0 Sealed: true Main-Class: hauptFenster.Reha Code:
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/swt-debug.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/adsjdbc.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/Filters.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/forms-1.2.0.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/jmock-1.1.0RC1.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/junit-4.0.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/junit-4.0-src.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/JXLayer-2008_03_02.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/looks-2.1.4.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/MultipleGradientPaint.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/mysql-connector-java-5.1.5-bin.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/swing-layout.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/swing-worker.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/swingx-2008_03_02.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/swt.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/unoil.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/ag.ion.noa_2.1.0.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/bion_jurt-2.0.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/java_uno.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/java_uno_accessbridge.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/juh.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/junit-3.8.1.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/jut.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/registry-3.1.3.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/ridl.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/sandbox.jar"/> <classpathentry kind="lib" path="C:/RehaVerwaltung/RTAJars/openofficeorg/bion_officebean-2.0.jar"/> <classpathentry kind="output" path="bin"/> </classpath> Jürgen |
|
|
| #2 (permalink) | |
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
Der 'Runnable' Export ist wohl von irgendeinem PlugIn. Der normale weg ist export -> jar file, main class angeben und dann solltest du es starten können.
Am besten du startest von der Konsole, damit du die Exceptions siehst.
__________________
Take back the Desktop |
|
|
| #3 (permalink) | |
|
Stammbenutzer
Kilobyte
Themenstarter
Registriert seit: 06.02.2008
Fachbeiträge: 116
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo Wildcard,
geht leider nicht! Ich habe die MainClass angegeben und trotzdem will er nicht. Wenn ich die reha.jar mit dem Kommando javaw -jar reha.jar starte erhalte ich sofort ein WindowsFenster mit der Meldung daß die MainClass nicht gefunden werden konnte. Starte ich mit java -jar reha.jar erhalte ich folgende Fehlermeldung Code:
C:\RehaVerwaltung>java -jar reha.jar
Exception in thread "main" java.lang.NoClassDefFoundError: ag/ion/bion/officelay
er/application/OfficeApplicationException
Caused by: java.lang.ClassNotFoundException: ag.ion.bion.officelayer.application
.OfficeApplicationException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Der Inhalt der beiden MANIFEST.MF ist aber identisch. Code:
Manifest-Version: 1.0 Sealed: true Main-Class: hauptFenster.Reha Da versucht man sich nun wochenlang in Sachen Java abzumühen, hätte dann gerne eine lauffähige Version des geistigen Ergusses - und was ist? Nix ist - auch schade eigentlich. Gruß Jürgen |
|
|
| #4 (permalink) | |
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
Die Main Class ist nicht das Problem, die Bibliotheken fehlen:
Caused by: java.lang.ClassNotFoundException: ag.ion.bion.officelayer.application Alle benötigten Bibliotheken müssen im Classpath liegen (im Manifest eintragen)
__________________
Take back the Desktop |
|
|
| #5 (permalink) | ||||||||||||||||
|
Stammbenutzer
Kilobyte
Themenstarter
Registriert seit: 06.02.2008
Fachbeiträge: 116
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Tja da staunt der Laie und der Fachmann wundert sich - ich staune.... Wie lautet denn die Syntax für solch einen Eintrag, etwa so? Code:
Manifest-Version: 1.0 Sealed: true Main-Class: hauptFenster.Reha Classpath: RTAJars/openofficeorg/ag.ion.noa_2.1.0.jar RTAJars/openofficeorg/java_uno_accessbridge.jar etc... Gruß Jürgen |
|||||||||||||||
|
|
||||||||||||||||
| #6 (permalink) | |
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
Wie soll Eclipse denn wissen wo die Bibliotheken später liegen werden?
__________________
Take back the Desktop |
|
|
| #7 (permalink) | |
|
Stammbenutzer
Kilobyte
Themenstarter
Registriert seit: 06.02.2008
Fachbeiträge: 116
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Das ist richtig, aber im BuildPath werden die Bibliotheken ja mit Pfad eingetragen und meine "nicht lauffähige" Jar liegt in derselben Pfadstruktur - aber sei's drum.
Ist die von mir oben aufgeführte Syntax völlig neben der Spur oder könnte es so hinhauen? Grüße Jürgen |
|
|
| #8 (permalink) | |
|
Stammbenutzer
Kilobyte
Themenstarter
Registriert seit: 06.02.2008
Fachbeiträge: 116
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Problem behoben!
Zuerst habe ich, wie in einigen Beiträgen beschrieben, die ganzen jars in einer Zeile aufgeführt. Ergebnis: beim Versuch meine Jar zu erstellen -> line too long! Dann habe ich jedes jar-Archiv in einer neuen Zeile aufgeführt: ebenfalls Fehlermeldung, irgend etwas war "korrupt". Dann habe ich jede neue Zeile mit einem Leerzeichen begonnen: wieder Fehlermeldung, ich glaube dann hatte er wieder die MainClass nicht gefunden. Der Trick bestand letzlich darin jede Zeile mit einem Leerzeichen enden zu lassen. Weshalb das so ist? Keine Ahnung, aber es funktioniert definitiv nur auf diese Weise. Zumindest mit meiner Eclipse-Installation. Das ganze sieht jetzt so aus: Code:
Manifest-Version: 1.0 Sealed: true Main-Class: hauptFenster.Reha Class-Path: RTAJars/adsjdbc.jar<Leerzeichen> RTAJars/Filters.jar<Leerzeichen> RTAJars/forms-1.2.0.jar<Leerzeichen> RTAJars/jmock-1.1.0RC1.jar<Leerzeichen> RTAJars/junit-4.0.jar<Leerzeichen> RTAJars/junit-4.0-src.jar<Leerzeichen> ...etc Jürgen Edit: So und jetzt sind die Umleitungen der OOo-Events an der Reihe. Und wenn das erledigt ist, dann habe ich mein Sonntags-Pensum erfüllt! |
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Jar Datei in Eclipse erstellen mit Ressourcen Ordner | Plattformprogrammierung | 9 | 03.09.2008 13:12 | |
| JAR Datei mit Eclipse erstellen? | Java Basics - Anfänger-Themen | 5 | 23.04.2008 14:11 | |
| JAR-Datei in Eclipse erstellen | Java Basics - Anfänger-Themen | 7 | 16.01.2008 13:46 | |
| Eclipse: Jar Datei erstellen? | peterfarge | Java Basics - Anfänger-Themen | 2 | 18.05.2006 16:54 |
| JAR-Datei mit Eclipse einschließlich SWT erstellen | metalsoft | Java Basics - Anfänger-Themen | 12 | 28.07.2004 17:01 |
| Lesezeichen |
|
|