Jar erstellen mit eclipse

Status
Nicht offen für weitere Antworten.

Kin

Mitglied
Bekomme leider beim Versuch mein Projekt in eine jar-datei zu exportieren:

Exported with complie warnigns: /Memory/src/de/Game.java
Resource '/Memory' does not exits.
Resource is out of sinc with the fiel system: '/Memory/graphics/card.jpg

Vielleicht kann mir ja jemand helfen. Verstehe nicht mal die Fehlermeldung
 

Wildcard

Top Contributor
Du hast eine Datei des Workspaces von ausserhalb Eclipse verändert und nun beschwert sich Eclipse das es darüber nicht informiert wurde.
Klick das Projekt im Navigator/Project Explorer/Package Explorer an und drück F5 für einen Refresh.
 

Kin

Mitglied
ok. danke
das hat schonmal viel gebracht. er erstellt die datei nun , sagt aber er hat eine warnung:
unter den details steht nur
warning......
die Klasse Game ist offensichtilich betroffen.
Die Datei startet leider nicht.
 

musiKk

Top Contributor
Ein Warning-Dialog am Ende des Erstellens eines Jar weist eigentlich i.d.R. auf ganz normale Warnings im Code hin.

Das Refresh-Problem kann man auch "umgehen", wenn man unter Preferences - General - Workspace die Option Refresh automatically aktiviert. Man sollte aber dennoch wissen, was man tut. Eclipse sollte imho schon die Herrschaft über den Projektordner haben.

Warum dein Programm nicht startet, kann dir jetzt wohl niemand sagen. Das werden wohl Probleme im Code sein.
 

Kin

Mitglied
Das Problem habe ich "gelöst". Ich lade Bilder und irgendwie findet er die in der jar nicht, d.h ich muss in das Verzeichnis wo die jar drin liegt, die Ordner mit den Images nochmal reinkopieren. Wieso ist das so? habe eigentlich versucht die Pfade relativ zum Projektpfad anzugeben. Irgendwie findet er da die Bilder nicht.
Noch ein Problem: Unter Linux(Ubuntu) findet er die Images nichtmal, wenn ich sie zusätzlich, wie oben beschrieben extra reinkopiere.
Ich benutze vom Prinzip her folgenden quellcode zum Laden eines Images:

Code:
File file = new File("graphics"+File.separator+"img1.jpg");
BufferedImage img = new BufferedImage();
img = ImageIO.read(file);
 

musiKk

Top Contributor
Das geht über Class.getResource() oder Class.getResourceAsStream(). Was man halt braucht. Für mehr Fragen dazu kannst du auch hier im Forum schauen, die Frage wird ständig gestellt (eigentlich auch ein FAQ-Kandidat).
 

Kin

Mitglied
Dann sorry für die doofe Frage. ich werds mal versuchen. Wenns nicht klappt kann ich mich ja nochmal melden bzw. die Suchfunktion des Forums bemühen ;)
 

Kin

Mitglied
Hab folgendes probiert: Bekomme allerdings eine IllegalArgumentException
Code:
BufferedImage img;
URL url = ClassLoader.getSystemResource("graphics"+File.separator+"img.jpg");
img = ImageIO.read(url);
Verstehe gar nicht, wieso er das erst zur Runtime merkt. der Compiler überprüft doch auf Typkonsistenz.
 

Wildcard

Top Contributor
Wahrscheinlich ein Windows System? Der separator in einer URL ist immer '/', nicht '\'. Statt dem File.separator also '/'.
File.separator würde ich in einem Java Programm gar nicht verwenden, da java.io.File immer auch mit / funktioniert. Den separator char brauchst du dann erst, wenn du dem User einen Pfad in ihm vertrauter Syntax präsentieren willst.
 

Kin

Mitglied
habe File-separator durch / ersetzt, die Fehlermeldung bleibt.
dachte sowieso immer, dass File.separator die bessere Lösung ist, weil dann halt immer der Betriebssystem-Abhängige Fileseparator verwendet wird.
 

musiKk

Top Contributor
Ja, aber bei dem String, den man getSystemResource() übergibt, handelt es sich nicht um einen Pfad (siehe Dokumentation).
Zur Typkonsistenz: String erwartet, String erhalten, Compiler glücklich. Alle weiteren Fehler dann zur Laufzeit.

In deinem Beispiel muss das Verzeichnis "graphics" im Root des Jars sein. Also nicht in irgendwelchen src- oder sonstwas-Verzeichnissen, sondern ganz oben. Vielleicht stimmt da nochwas nicht.
 

Wildcard

Top Contributor
musiKk hat gesagt.:
In deinem Beispiel muss das Verzeichnis "graphics" im Root des Jars sein. Also nicht in irgendwelchen src- oder sonstwas-Verzeichnissen, sondern ganz oben. Vielleicht stimmt da nochwas nicht.
Das src Verzeichnis wird doch nicht ins jar exportiert, bzgw. ist dafür irrelevant. Der übergegbene "Pfad" muss einfach dem Package Namen + Resource entsprechen.
 

Kin

Mitglied
die fehlermeldung stammt direkt aus eclipse. der ordner "graphics liegt direkt im Projektverzeichnis, sonst nirgends, also auf oberster ebene.
 

musiKk

Top Contributor
Wildcard hat gesagt.:
Das src Verzeichnis wird doch nicht ins jar exportiert, bzgw. ist dafür irrelevant.
Ich habe keine Ahnung, wie die vorliegende Dateistruktur aussieht, da erwähne ich auch mal ein paar Eventualitäten...
 

Kin

Mitglied
Hier nochmal was zur Verzeichnis-Struktur:

Klassen: Projekt->bin->de->Klasse.class
graphics: Projekt->graphics
 

Wildcard

Top Contributor
graphics muss in den Build Path, sonst kannst du es nicht über den Classloader laden.
Also entweder in src, oder zB den source folder splitten in src/java und src/resources
 

Kin

Mitglied
habe den ordner graphics in den ordner src kopiert, der Fehler bleibt.
Nur damit es keine Verständnisprobleme gibt: zur Zeit starte ich das Programm noch direkt aus eclipse ehraus, es ist also noch nicht in .jar umgewandelt. Das brauche ich ja auch sicher nicht machen, wenn es in eclipse schon nicht funktioniert.

edit: Wenn ich graphics in bin kopiere gehts. Habe graphics jetzt mal in src UND bin kopiert. Wenn ich jetzt daraus eine .jar mache, so startet diese wieder nicht, ich denke mal, weil er die Bilder wieder nicht laden kann, also der Fehler vom Anfang
 

Wildcard

Top Contributor
Hast du denn inzwischen wie von musiKk beschrieben Classloader.getSystemResouce durch Class.getResource() oder Class.getResourceAsStream() ersetzt? Dann sollte der Fehler zumindest ein anderer sein.
 

Kin

Mitglied
Class.getResource(path) kann ich nicht compilieren:

"Infer Generic Type Arguments..."
"Add @SupressWarnings..."
 

Kin

Mitglied
Wieso passt der Pfad dann noch nicht? Mit dem anderen Befehl lädt er die Datei ja ordnungsgemäß, nur leider als .jar exportiert nicht mehr.
Das kann doch nicht so schwer sein. Gibts denn da keine Standardlösung?
 

Wildcard

Top Contributor
Kin hat gesagt.:
Gibts denn da keine Standardlösung?
Doch. Full Qualified Name, also "/"+ Package Name + "/" + Resouce
Bei Package Name ist '/' der Separtor. In deinem fall also (wenn ich deine Struktur richtig verstanden habe)
Code:
/graphics/bild.gif
 

Kin

Mitglied
ich checks einfach nicht. mach ich das nich so?
Code:
URL url = getClass().getResource("/graphics/img.jpg");
img = ImageIO.read(url);

graphics ist ein Ordner direkt im Projektverzeichnis. So wie ich es oben schreibe geht es aber nicht. In eclipse läd er die Datei aber nicht wenn ichs in jar exportiere. Was hab ich denn nun falsch gemacht?
 

musiKk

Top Contributor
Mach mal die Jar-Datei mit dem zip-kompatiblen Packprogramm deiner Wahl auf und überzeuge dich von dieser Struktur. Ich habe es spaßeshalber auch nochmal ausprobiert und das geht genau so, wie hier beschrieben.
 

Kin

Mitglied
Das habe ich schon gemacht. in der jar-Datei befindet sich der ordner de mit den class-Datein und ein ordner graphics mit den Grafiken, ausserdem hab ich sicherheitshalber in den de-Ordner den graphics-Ordner auch nochmal reinkopiert.
 

Kin

Mitglied
ich war so dämlich und habe vergessen, dass ich an mehr als an einer Stelle im Quellcode Bilder lade :(((
Grundsätzlich funktioniert es aber er lädt nicht alle Bilder. Ich lade wie gesagt an verschiedenen Stellen im Code Bilder. Am Anfang gehts, später nicht mehr.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Eclipse Problem beim JAR-erstellen Tools - Maven, Gradle, Ant & mehr 5
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
L Maven Datei .zip erstellen Tools - Maven, Gradle, Ant & mehr 24
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
Thallius Jenkins nur zip file erstellen? Tools - Maven, Gradle, Ant & mehr 3
L Jar mit externen Libaries erstellen Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
VfL_Freak Desktopverknüpfung über den Java-Cache erstellen Tools - Maven, Gradle, Ant & mehr 0
J Updates erstellen Tools - Maven, Gradle, Ant & mehr 3
J Wie Jar-Dateien in NetBeans erstellen? Tools - Maven, Gradle, Ant & mehr 4
M Webstart Desktop Icon erstellen Tools - Maven, Gradle, Ant & mehr 2
B Subversion JAR erstellen nach Commit möglich? Tools - Maven, Gradle, Ant & mehr 5
H WAR Archiv erstellen Tools - Maven, Gradle, Ant & mehr 2
C bash-datei erstellen zum übergeben der parameter Tools - Maven, Gradle, Ant & mehr 9
M eigenes Plugin erstellen Maven Tools - Maven, Gradle, Ant & mehr 4
D Windows Desktop Verknüpfung erstellen Tools - Maven, Gradle, Ant & mehr 4
N Maven2 Projekt unter Hudson mit SVN Repository erstellen Tools - Maven, Gradle, Ant & mehr 4
N JAR Archive mit mehreren Klassen und anderen JAR Files erstellen Tools - Maven, Gradle, Ant & mehr 6
T Jar erstellen mit Build Version? Tools - Maven, Gradle, Ant & mehr 2
J keytool um für Tomcat keystore file zu erstellen Tools - Maven, Gradle, Ant & mehr 1
U txt Datein erstellen Tools - Maven, Gradle, Ant & mehr 3
Z Applet erstellen Tools - Maven, Gradle, Ant & mehr 2
K applet erstellen Tools - Maven, Gradle, Ant & mehr 2
G Applet erstellen Tools - Maven, Gradle, Ant & mehr 3
B applet erstellen, welches eine grafikdatei erzeugt Tools - Maven, Gradle, Ant & mehr 2
G timer erstellen dringend hilfe Tools - Maven, Gradle, Ant & mehr 9
T webshop erstellen Tools - Maven, Gradle, Ant & mehr 3
N Java Applet mit einer GUI erstellen Tools - Maven, Gradle, Ant & mehr 5
J [Webstart] jnlp dynamisch erstellen Tools - Maven, Gradle, Ant & mehr 8
S Erstellen eines CMS Tools - Maven, Gradle, Ant & mehr 11
F Erstellen einer Policy-Datei Tools - Maven, Gradle, Ant & mehr 8
S Neurales Netz im Java erstellen Tools - Maven, Gradle, Ant & mehr 2
S Buttons erstellen ... schwer für anfänger ... bitte helft Tools - Maven, Gradle, Ant & mehr 4
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
G Eclipse wirft Fehler trotzalledem dass die pom richtig durchläuft Tools - Maven, Gradle, Ant & mehr 2
L Gradle Ein lokales Eclipse Projekt in Gradle dependency einbinden Tools - Maven, Gradle, Ant & mehr 2
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
Q Java Eclipse Fehlermeldung bei Installation Tools - Maven, Gradle, Ant & mehr 3
M Versionsverwaltung mithilfe von Bitbucket und Eclipse Tools - Maven, Gradle, Ant & mehr 5
H Eclipse/Runnable JAR file/.fxml-Datei Tools - Maven, Gradle, Ant & mehr 1
A Maven Standard/User-Libraries für alle Eclipse-Projekte bereitstellen Tools - Maven, Gradle, Ant & mehr 3
V Maven von Eclipse nach JBoss Tools - Maven, Gradle, Ant & mehr 3
reibi Maven M2 -Eclipse - Group - Warning Tools - Maven, Gradle, Ant & mehr 3
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Reactor Projekt import ins Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
D JUnit Test in Maven fail und in Eclipse erolgreich Tools - Maven, Gradle, Ant & mehr 4
H Maven Tycho [ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:0.14.1:validate-vers Tools - Maven, Gradle, Ant & mehr 8
B Subversion Eclipse Dateien mit Fragezeichen Tools - Maven, Gradle, Ant & mehr 2
earlgrey_tea JRE in jar verpacken eclipse Tools - Maven, Gradle, Ant & mehr 8
Chris81T Maven Wie "Eclipse Server Runtime Libraries" JavaEE Server Bibliotheken bereitstellen? Tools - Maven, Gradle, Ant & mehr 2
Meldanor Maven Artifactory Repo in Eclipse Tools - Maven, Gradle, Ant & mehr 3
D [Maven] noclassdeffounderror in eclipse (junittest) - mvn integration-test funktioniert!) Tools - Maven, Gradle, Ant & mehr 9
HaukeG Maven Java Web-Application in Eclipse - Abhängigkeiten zwischen den Projekten Tools - Maven, Gradle, Ant & mehr 10
M Maven GWT+Eclipse+maven Tools - Maven, Gradle, Ant & mehr 3
G Maven Maven, Eclipse Plugins und Classpath Tools - Maven, Gradle, Ant & mehr 15
D gwt-maven-plugin und Eclipse Tools - Maven, Gradle, Ant & mehr 1
J Maven + JPA + Eclipse + Hibernate Tools - Maven, Gradle, Ant & mehr 1
Z CVS Eclipse 1.13 Projekt als 2.0 hochladen Tools - Maven, Gradle, Ant & mehr 2
T Maven Eclipse-VM arguments deklarieren Tools - Maven, Gradle, Ant & mehr 7
M Java3D in Eclipse einbinden Tools - Maven, Gradle, Ant & mehr 4
K Maven Multimodule Maven Projekt mit GWT in Eclipse - das Grauen Tools - Maven, Gradle, Ant & mehr 13
ruutaiokwu eclipse web project - warum in den "build"-ordner kompilieren ??? Tools - Maven, Gradle, Ant & mehr 10
B Maven build-helper-maven-plugin mit Eclipse Tools - Maven, Gradle, Ant & mehr 3
reibi Maven eclipse:eclipse - neuen sourcefolder angeben Tools - Maven, Gradle, Ant & mehr 26
R Maven+Eclipse: Repository im Workspace? Tools - Maven, Gradle, Ant & mehr 6
K Ant mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
Kessi Maven & Run As Eclipse Application Tools - Maven, Gradle, Ant & mehr 2
Kessi Maven und Eclipse Plug-in Unit Tests Tools - Maven, Gradle, Ant & mehr 9
F Eclipse - Maven - Tomcat Tools - Maven, Gradle, Ant & mehr 3
E Probleme mit Buckminster unter eclipse 3.4 Tools - Maven, Gradle, Ant & mehr 11
V Standard IN bei ANT in Eclipse Tools - Maven, Gradle, Ant & mehr 2
S Servlet-JSP-Anwendung mit Maven und Eclipse Tools - Maven, Gradle, Ant & mehr 4
B Unstimmigkeiten Ant - Eclipse Tools - Maven, Gradle, Ant & mehr 4
V Ant in Eclipse - javac Task - JAVA_HOME zeigt aufs jre Tools - Maven, Gradle, Ant & mehr 3
C Ant target für Eclipse .classpath Tools - Maven, Gradle, Ant & mehr 6
G Eclipse & Apache Tomcat Tools - Maven, Gradle, Ant & mehr 3
S Eclipse / abhängige Projekte Tools - Maven, Gradle, Ant & mehr 2
D Bestehendes Projekt in Eclipse einbinden Tools - Maven, Gradle, Ant & mehr 6
T Eclipse RCP + Maven + Eclipse IDE Tools - Maven, Gradle, Ant & mehr 4
K Applet in Eclipse funktioniert, im Browser nicht Tools - Maven, Gradle, Ant & mehr 7
I Applet geht in Eclipse abernicht im Browser Tools - Maven, Gradle, Ant & mehr 37
K Eclipse Applets und ich bekomm langsam nen Hass Tools - Maven, Gradle, Ant & mehr 23
A Applet Visual in Eclipse erstellt - wie in Browser anzeigen? Tools - Maven, Gradle, Ant & mehr 4
spross Eclipse: Applet-Projekt inkl. Ressourcen als JAR exportieren Tools - Maven, Gradle, Ant & mehr 2
F [JWS] Anwendung in Eclipse debuggen Tools - Maven, Gradle, Ant & mehr 5
V komisches Problem mit Eclipse - oberste Pixel verdeckt Tools - Maven, Gradle, Ant & mehr 3
F Applet erscheint bei Eclipse, aber nicht im HTML-File Tools - Maven, Gradle, Ant & mehr 2
G Applet läuft in Eclipse aber im Browser nicht Tools - Maven, Gradle, Ant & mehr 12
D Applet aus eclipse erzeugen Tools - Maven, Gradle, Ant & mehr 4
D Libarys in eine JAR Datei mit eclipse Tools - Maven, Gradle, Ant & mehr 8
M JApplet läuft in Eclipse, aber nicht in den Browsern Tools - Maven, Gradle, Ant & mehr 7

Ähnliche Java Themen

Neue Themen


Oben