.jar datei wird nicht ausgeführt

gazale_m

Mitglied
Hi,

ich habe ein ganz eigenartiges Problem mit meinem Programm. DasProgramm wird in Eklipse richtig aus geführt aber in Kommandozeile wird das Programm halb ausgeführt.

>java –jar exe.jar
Mein manifest ist:
Manifest-Version: 1.0
Main-Class: CSVReader

Es fuhrt die erste (try{…) aus „file wird angelegt“ aber ich glaube die zweite (try) wird nicht ausgeführt:

Geben Sie den Pfad ein wo .csv gelesen werden soll:
C:/input.csv
Geben Sie den Pfad ein wo .csv gespeichert werden soll:
c:/output.csv
Exception in thread „main“ java.lang.NoSuchMethodError
at CSVReader.main<CSVReader.java:57>

kann jemand mir bitte sagen wo der Hacken ist?

Code:
public class CSVReader {

	public static void main(String[] args) throws Throwable {
		// 
		try {
			//für inportieren den path eingeben
			InputStreamReader inStream =new InputStreamReader( System.in ) ;
		    BufferedReader stdin = new BufferedReader( inStream );

		    String inData;

		    System.out.println("Geben Sie den Pfad ein wo .csv gelesen werden soll:");
		    inData = stdin.readLine();
		    //
			File CSVReader= new File(inData);
			// CSV datei wird gelesen
			FileReader reader = new FileReader(CSVReader);
			BufferedReader br = new BufferedReader (reader);
			// die informationen werden gespeichert
			
			InputStreamReader outStream =new InputStreamReader( System.in ) ;
		    BufferedReader stdout = new BufferedReader( outStream );
		    //für output den path eingeben
		    String outData;
		    
		    System.out.println("Geben Sie den Pfad ein wo .csv gespeichert werden soll:");
		    outData = stdout.readLine();
		    FileWriter f1 = new FileWriter(outData,true);
			PrintWriter print1=new PrintWriter(f1);
			print1.print("ID,RESULT,NOTES");
			print1.println();
			
			f1.close();
			String line;
			int i = 0;
			
			try {
					
				while ((line =br.readLine())!=null)
				{	
				// so lange es nicht leer ist wird gelesen									
				
				if (i>=14)
				{
				//für qf-s input:	
				String Teil2=line.split(",")[1];
				int iFirstComma = Teil2.indexOf("0");
				int iSecondComma = Teil2.length();
				//das word zwiechen Kommas werden gelesen
				String sTestFileId = Teil2.substring(iFirstComma, iSecondComma);
				
				//für csv output:
				String Teil1=line.split(",")[0];
				System.out.println(line);
				String ID=Teil1;
				
				String Teil2_1=line.split(",")[1];
				int iFirstComma_1 = Teil2.indexOf("\"");
				int iSecondComma_1 = Teil2.length();
				//das word zwiechen Kommas werden gelesen
				String sTestFileId_1 = Teil2_1.substring(iFirstComma_1, iSecondComma_1);
				
				String cmd = "qftest  -batch ";
				
				try {
					Process p = Runtime.getRuntime().exec( cmd );
					// cmd wird ausgeführt
					int exitVal=p.waitFor();
					System.out.println("Process exitValue: "+ exitVal);
					//schreibt die Datei in output.csv
					
					FileWriter f = new FileWriter(outData,true);
					PrintWriter print=new PrintWriter(f);
					//print.println("ID,RESULT,NOTE"); 
					//warum schreibt sich nicht wie anderen untereinander
					
					if (exitVal == 0 || exitVal == 1){
						
						print.println(ID+ ",pass,"+sTestFileId_1 ); 
					    System.out.println(ID+ " , PASS , "+sTestFileId_1 );}
				   else if(exitVal<0){
							print.println(ID+ ",blocked,"+sTestFileId_1);	
						}
					else{
						print.println(ID+ ",fail,"+sTestFileId_1);
						System.out.println(ID+ ",fail,"+sTestFileId_1 );}
					
					f.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				 }
				}
				
				i++;
				}
				}
			 catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
 
Die Exception ist eigendlich eindeutig - eine von dir aufgerufene Methode existiert nicht:

Code:
Exception in thread „main“ java.lang.NoSuchMethodError
at CSVReader.main<CSVReader.java:57>
Ich nehme mal an, dass Zeile 57 folgendes ist:

Java:
String Teil2=line.split(",")[1];

Die split-Methode existiert erst seit Java 1.4, von daher denke ich einmal, dass du mit einem sehr alten jre arbeitest.

Gruss, Manuel
 
Zurück