Eclipse <-> Executable Jar

P

Peschels

Gast
Hallo zusammen,

ich hoffe mir kann einer von euch helfen. Ich habe folgendes Problem:
Ich habe in Eclipse eine Programm geschrieben, mit welchem man Daten auf einen FTP-Server laden kann. Starte ich das Programm aus Eclipse heraus, funktioniert alles einwandfrei. Wenn ich das Prog aber nun zu einer executable JAR exportiere, funktioniert es nicht mehr.
Erst einmal der relevante Code:

Java:
private void upload()
	{
		FTPClient client = FTPopen();
	           FileInputStream fis = null;
	    
		log.append("uploading: " + newline);
		int i=0;
		
		try
		{
	           	    while( i < file.length )
		    {
		       log.append(file[i].getName() + newline);
		       fis = new FileInputStream(file[i].getAbsoluteFile());
		       client.storeFile(file[i].getName() , fis);
		       i++;
   		     }
		     log.append("Übertragung beendet");
		     client.logout();
		     fis.close();	
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
Das Programm stoppt immer an der Stelle
Code:
client.storeFile(file[i].getName() , fis);

Woran könnte das liegen? Bin absoluter Anfänger bzgl. der Erstellung von JAR-Files.
Gruß Peschels
 
C

Camino

Gast
Starte es doch mal über die Konsole, damit du die Fehlermeldungen angezeigt bekommst...
 
P

peschels

Gast
Hallo, zuerst einmal danke für die schnelle Antwort...

Das Starten über die Konsole liefert mir die Ursache:

[WR]Java.net.SocketException: Software caused connection abort: socket write error[/WR]

Also hat das ganze nichts mit meinem JAR-File zu tun.
Woran könnte es liegen, dass ich beim Aufruf mit Eclipse keinen Fehler bekommen, außerhalb davon jedoch schon???
 
C

Camino

Gast
Hmm, vielleicht eine externe JAR nicht (richtig) eingebunden? Poste doch mal die ersten paar Zeilen der Fehlermeldung. Vielleicht kann man da noch mehr erkennen...
 
P

peschels

Gast
Die Fehlermeldung beginnt mit

Code:
java.net.SocketException: Software caused connection abort:socket write error
	at java.net.Socket.OutputStream.socketWrite0(nativeMethod)
	at java.net.Socket.OutputStream.socketWrite(UnknownMethod)
	at java.net.Socket.OutputStream.write(Unknown Source)
	at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknowns Source)

geht aber noch weiter ...
 

Tecwan

Aktives Mitglied
Ich könnte mir vorstellen, dass der Inhalt des Files Zicken macht, dass also unverdauliche
Sequenzen zum Abbruch führen.

Ich arbeite mit NetBeans, und hatte vor kurzem das Problem, dass beim Start unter NetBeans
Strings einwandfrei über einen socket übertragen wurden, nach Erstellen des jar aber Probleme
mit Umlauten auftraten, obwohl die gleichen Strings übertragen wurden.
Die Lösung bestand bei mir darin, bei der Deklaration des BufferedReaders das Format explizit
(als "UTF-8") anzugeben.
Bei mir waren es zwar Strings und keine Binärdaten, aber möglicherweise macht auch Eclipse
intern während der Entwicklung etwas anderes als bei Ausführung aus dem jar.
Ohne Formatangabe in IOStreams wird ja ein voreingestellter Wert verwendet; kann sein, dass
sich das Format bei Lauf unter Eclipse vom Format unterscheidet, das beim Start aus dem jar
verwendet wird.
 
P

peschels

Gast
Ich möchte jpg-Dateien übertragen. Das Problem besteht aber auch, wenn ich das PRogramm über die Kommandozeile starte, also ohne ein JAR-File zu erstellen.
 

Tecwan

Aktives Mitglied
Für mich klingt das nach einer abweichenden Behandlung beim Start unter Eclipse im Vergleich
zum Start aus dem jar/Konsole.

Ob die JVM den Code direkt aus einem File liest (Konsole), oder dieses File zunächst aus dem
jar picken muss, spielt keine Rolle.

Du kannst ja mal folgendes überprüfen:
- Wird in beiden Fällen (unter Eclipse wie auch Konsole) ein bzw. der richtige FileInputStream()
übergeben? (Filename mit Sonderzeichen, evtl. auch im Path - da kann ich mir vorstellen, dass
Eclipse aufgrund anderer Zeichensatzvoreinstellungen als sie den Grundeinstellungen deines
Systems/der JVM entsprechen, vorkommen können)

- Werden überhaupt Daten übertragen, stimmt die Anzahl der Bytes mit der des Files überein?
(Vielleicht Abbruch aufgrund fehlender Daten, leerem FileInputStream?)

- Tritt das Problem immer auf, oder nur bei bestimmten Bildern? (Ich vermute mal, bei allen)

Ich nehme mal an, dass der Server nicht unter deiner Kontrolle liegt, also müsste der Fehler
entweder bereits bei der Übergabe des
Code:
FileInputStream()
liegen, oder aber im Code
von
Code:
storeFile()
.
 
P

peschels

Gast
so habe das programm nun nach linux portiert und auch dort läuft es ohne Probleme. Woran könnte die Ausführung unter Windows noch scheitern???
 

estede

Mitglied
Hallo,
Kaum zu glauben, ich finde nach langen suchen doch noch ebenfalls Leidensgenossen. Habe schon etliche Stunden mit diesem Problem verbracht... ICh habs zwar noch nicht als Jar versucht, jedoch wirft auch bei mir die Zeile 'client.storeFile("uvw.xyz", fis)' immer eine Exception. Den Dateipfad gibt es auf jeden Fall (wird im Programm überprüft). Der Code sieht folgendermaßen aus:

Java:
class Ftp_Upload {
	public static void upload (File uploadDatei, String host, String user,String psw ) {
		FTPClient client = null;
		if(uploadDatei.exists()) {
			try {
				client = new FTPClient();
				System.out.println("Datei existiert: " + uploadDatei.exists());
				client.connect(host);
				if(client.isConnected()) {System.out.println("Mit dem Server "+ host + " verbunden");}
				else {System.out.println("Fehler beim Verbinden mit Server " + host);}
				if(client.login(user, psw)) {System.out.println("Login von " + user + " erfolgreich");}
				else {System.out.println("Fehler beim Login des Users " + user);}
				client.setFileType(FTP.BINARY_FILE_TYPE);
				int reply = client.getReplyCode();
				System.out.println("Received Reply from FTP Connection:" + reply);
				if(FTPReply.isPositiveCompletion(reply)){
			         System.out.println("Connected Success");
			     }
				//Diese Zeile bereitet Mir Sorgen:
			//*************************************************************************	
			/**/client.storeFile("testFile.txt", new FileInputStream(uploadDatei));/**/
			//*************************************************************************
			}
			catch(Exception e) {
				System.out.println("Exception has been throwed, the Stack trace is:");
				System.out.println();
				e.printStackTrace();
			}
//			finally {
//				try {
//					if(client.logout()) {System.out.println("Logged out user " + user + "from " + host);}
//					client.disconnect();
//				}
//				catch (Exception e) {System.out.println("Exception in finally-Block");}
//				
//			}
		}
		else {System.out.println("angegebene Datei existiert nicht");}
	}
}

Die dazugehörige Test Klasse mit der main Methode macht übrigens nix anderes als die Methode FTP_Upload aufzurufen (mit den ensprechenden Parametern natürlich).

Die Ausgabe sieht dann folgendermaßen aus:

Code:
Datei existiert: true
Mit dem Server s********.dyndns.org verbunden
Login von ****** erfolgreich
Received Reply from FTP Connection:200
Connected Success
Exception has been throwed, the Stack trace is:

java.net.SocketException: Software caused connection abort: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(Unknown Source)
	at java.net.SocketOutputStream.write(Unknown Source)
	at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
	at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
	at sun.nio.cs.StreamEncoder.flush(Unknown Source)
	at java.io.OutputStreamWriter.flush(Unknown Source)
	at java.io.BufferedWriter.flush(Unknown Source)
	at org.apache.commons.net.ftp.FTP.__send(FTP.java:501)
	at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:475)
	at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:552)
	at org.apache.commons.net.ftp.FTP.port(FTP.java:877)
	at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:709)
	at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:565)
	at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:557)
	at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1795)
	at Ftp_Upload.upload(Ftp_Upload.java:26)
	at MainTest.main(MainTest.java:5)
 

estede

Mitglied
Also bei mir liegt es daran nicht. Auch wenn ich den Input Stream nicht anonym mache sondern wirklich ein FileInputStream-Objekt initialisiere und dieses denn übergebe funzt es nicht. Das FIS ist also vorraussichtlich i.O.
Die Links kannte ich übrigens beide schon :). Trotzdem Danke
 
P

peschels

Gast
Hallo estede,

ich habe des Fehlers Lösung gefunden, es liegt an der Windows-Firewall.
Nach der Ausführung folgender Schritte müsste auch dein Programm funktionieren:

- cmd als Adminstrator starten
- netsh advfirewall firewall add rule name=”FTP Service” action=allow service=ftpsvc protocol=TCP dir=in
- netsh advfirewall set global StatefulFTP disable

MfG Peschels
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Eclipse Executable Jar erstellen Java Basics - Anfänger-Themen 1
G FEHLER: the eclipse executable launcher was unable to. Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
F Fehlermeldung in Eclipse Java Basics - Anfänger-Themen 13
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
R Einfacher Taschenrechner mit Eclipse Java Basics - Anfänger-Themen 3
P Eclipse installieren Java Basics - Anfänger-Themen 5
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
M Von Eclipse zum richtigen Programm Java Basics - Anfänger-Themen 1
K Wie kann ich "enter" von der Console in Eclipse löschen? Java Basics - Anfänger-Themen 2
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 22
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 7
C externe jar einbinden in Eclipse-Projekt Java Basics - Anfänger-Themen 2
F Falscher Link zum Path? Unterschiedliche Antworten bei Eclipse und VisualStudiocode Java Basics - Anfänger-Themen 5
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
nbergmann eclipse schon mit "HalloWelt" unverständlich. Java Basics - Anfänger-Themen 4
G Zeilenumbrüche in Eclipse Java Basics - Anfänger-Themen 1
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
brypa Eclipse installieren Java Basics - Anfänger-Themen 31
R Methoden Eclipse schlägt mir nicht alle Möglichkeiten vor Java Basics - Anfänger-Themen 4
P Eclipse Karate Framework API Test . Unexpected Error: the trustAnchors parameter must be non-empty Java Basics - Anfänger-Themen 1
P Apache Derby wird in Eclipse trotz Anbindung nicht gefunden Java Basics - Anfänger-Themen 6
thor_norsk Eclipse Symbole Java Basics - Anfänger-Themen 2
N Eclipse Programm normal ausführen Java Basics - Anfänger-Themen 1
lougoldi Intellij oder Eclipse Java Basics - Anfänger-Themen 7
R Eclipse Aufgabe Java Basics - Anfänger-Themen 4
B tar.gz in Eclipse als Bibliothek einbinden Java Basics - Anfänger-Themen 3
Mr.Strobel BufferedImage Exportieren Eclipse Java Basics - Anfänger-Themen 14
D wie kann man in Pong mit eclipse den schläger bewegen Java Basics - Anfänger-Themen 1
Avalon Request direkt aus Eclipse wie bei Postman Java Basics - Anfänger-Themen 3
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
R Eclipse Methodenhilfe Java Basics - Anfänger-Themen 2
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
L babylonisches Wurzelziehen (Eclipse) Java Basics - Anfänger-Themen 2
C Wie kann ich Versionen eines Projektes in Eclipse erstellen? Java Basics - Anfänger-Themen 3
T Eclipse deinstallieren nicht vorhanden? Java Basics - Anfänger-Themen 4
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
C system cannot be resolved Fehler in Eclipse Java Basics - Anfänger-Themen 18
B Einbindung e(fx)clipse in Eclipse Java Basics - Anfänger-Themen 11
J Can't start eclipse Java Basics - Anfänger-Themen 5
H Eclipse kann nicht gestartet werden .... Java Basics - Anfänger-Themen 15
J Erste Schritte Unable to launch eclipse Java Basics - Anfänger-Themen 2
pkm Eclipse wie mit anderer JAVA-Version starten? Java Basics - Anfänger-Themen 1
S Ist dies ein Bug in Eclipse Java Basics - Anfänger-Themen 2
F Klassen und Pakete Projektübergreifend (Eclipse) Java Basics - Anfänger-Themen 6
W Eclipse Autoformatierung für Streams ändern ? Java Basics - Anfänger-Themen 1
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
I GUI über Eclipse oder NetBeans Java Basics - Anfänger-Themen 23
A Eclipse-Fenster starten statt Konsoleausgabe Java Basics - Anfänger-Themen 2
steven789hjk543 Kann man mit Java und Eclipse einen Virus programmieren? Java Basics - Anfänger-Themen 13
H Was sind Package bei eclipse? Java Basics - Anfänger-Themen 1
C NoClassDefFoundError mit externer Jar bei Start aus Eclipse Java Basics - Anfänger-Themen 3
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
S Eclipse Installation Java Basics - Anfänger-Themen 9
I JDK installieren Java JDK und Eclipse Installation Java Basics - Anfänger-Themen 6
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
J Eclipse Umgebungsvariable? Java Basics - Anfänger-Themen 1
B Eclipse spielt Sound nicht ab Java Basics - Anfänger-Themen 12
M OOP No enclosing instance... in Eclipse Java Basics - Anfänger-Themen 3
F Warum erhalte ich diese Fehler bei der Einbindung von SQLite JDBC in Eclipse? Java Basics - Anfänger-Themen 1
J Windows Builder auf Eclipse portable Java Basics - Anfänger-Themen 1
J Eclipse Einrichten : Umzug in anderen Ordner Java Basics - Anfänger-Themen 2
N Project layout eclipse ( seperate ordner für klassen ? ) Java Basics - Anfänger-Themen 1
Ellachen55 Weihnachtsbaum in Eclipse programmieren Java Basics - Anfänger-Themen 6
O Eclipse - Debugger Java Basics - Anfänger-Themen 2
W Eclipse Che Scanner Java Basics - Anfänger-Themen 8
V Vererbung Eclipse startet das Programm nicht und rechnet nicht Java Basics - Anfänger-Themen 6
P Eclipse hat Verbindungsproblem? Java Basics - Anfänger-Themen 13
F Installieren von eclipse Java Basics - Anfänger-Themen 1
E Apache Derby mit Eclipse Java Basics - Anfänger-Themen 2
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
H Eclipse Git importieren Java Basics - Anfänger-Themen 2
D Eclipse und Github kann nicht committen Java Basics - Anfänger-Themen 3
felix92 eclipse Problem Java Basics - Anfänger-Themen 12
B Eclipse Tabellen Farbe ändern? Java Basics - Anfänger-Themen 2
das_leon Erste Schritte Eclipse startet nicht Java Basics - Anfänger-Themen 1
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
W Externe class in Eclipse importieren Java Basics - Anfänger-Themen 0
S Klassen Problem mit Eclipse Java Basics - Anfänger-Themen 4
A Reader für Benutzereingabe in Eclipse importieren Java Basics - Anfänger-Themen 3
AppGuruCode962 Eclipse luna java 8 Java Basics - Anfänger-Themen 15
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
T Compiler-Fehler Eclipse: leerer Package Explorer Java Basics - Anfänger-Themen 4
T Erste Schritte Darstellung der Java-Projekte in Eclipse Java Basics - Anfänger-Themen 2
T eclipse mit java 9 Problem? Java Basics - Anfänger-Themen 5
F Eclipse alle Projekt weg Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
H Eclipse , Design-Modus, unvollständige Darstellung Java Basics - Anfänger-Themen 0
T Netbeans und Eclipse Probiere programmiere probiere Java Basics - Anfänger-Themen 2
E War-File Problem mit Eclipse Java Basics - Anfänger-Themen 3
amazinglife77 Input/Output Lesen/Schreiben Properties: in eclipse geht, als JAR nicht Java Basics - Anfänger-Themen 4
U Classpath Eclipse Native mitexportieren? Java Basics - Anfänger-Themen 2
K Klassen Eclipse Verhalten bei Klassen Java Basics - Anfänger-Themen 16
H Eclipse JFrame Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben