Probleme beim Übersetzen

freehawk

Mitglied
Hallo,

ich versuche im Moment meinen Code auf meinem Linux Rechner zu übersetzen. Auf Windows in meiner Eclipse Umgebung funktioniert das problemlos.

Code:
 javac -cp /usr/share/java/RXTXcomm.jar:. -cp /usr/share/java/mysql-connector-java.jar:.  Ausgabe.java CalculateValues.java ConfigRead.java DateiZugriff.java Debug.java MyListener.java MySolarAnlage.java MysqlConnection.java Oberflaeche.java SerialPortHandler.java SerialReadThread.java SolarAnlage.java

Es werden die Imports angemeckert:
Java:
SerialPortHandler.java:6: error: package gnu.io does not exist
import gnu.io.*; // RXTX
^
SerialPortHandler.java:9: error: cannot find symbol
    private SerialPort serialPort;
            ^
  symbol:   class SerialPort
  location: class SerialPortHandler
ConfigRead.java:5: error: package org.jdom does not exist
import org.jdom.Document;
               ^
ConfigRead.java:6: error: package org.jdom does not exist
import org.jdom.Element;
               ^
ConfigRead.java:7: error: package org.jdom does not exist
import org.jdom.JDOMException;
               ^
ConfigRead.java:8: error: package org.jdom.input does not exist
import org.jdom.input.SAXBuilder;
                     ^

Woran kann das liegen? Bis vor dem Hinzufügen von jdom hat es noch funktioniert.

Wahrscheinlich sehe ich nur afu dem Schlauch und die Ursache ist klein.

Danke

Gruß
Markus
 
Also dies ist meine Klasse dazu:

Java:
import java.io.File;
import java.io.IOException;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class ConfigRead
{
	private String dbHost = "";
	private String dbPort = "";
	private String dbName = "";
	private String dbUser = "";
	private String dbPass = "";
	private String dbTable = "";
	private String schnittStelle = "";
	private boolean statusMySQL = false;
	private boolean statusSeriell = false;
	private Debug debug;
	
	public ConfigRead ( Debug debug )
	{
		this.debug = debug;
	}
	
	public void read ( String xmlFile )
	{
		Document doc = null;

	    File f = new File( xmlFile );

	    try 
	    {
	    	// Das Dokument erstellen
	        SAXBuilder builder = new SAXBuilder();
	        doc = builder.build(f);
	        // Wurzelelement ausgeben
	        Element element = doc.getRootElement();
	        
	        // Eine Liste aller direkten Kindelemente eines Elementes erstellen
	        List alleKinder = (List) element.getChildren();
	        
	         
	        for ( int i = 0; i < alleKinder.size(); i++ )
	        {
	        	Element kind = (Element) alleKinder.get(i);
	        	if ( kind.getName().equals("MySQL") )
	        	{
	        		debug.print( 2, "MYSQL");
	        		List kids = (List) kind.getChildren();
	        		if ( kids.size() != 6 )
	        		{
	        			debug.print( 1, "Fehler in XML File! -> MySQL zu wenig Konfigurationen" );
	        			this.statusMySQL = false;
	        		}
	        		else
	        		{
	        			for ( int j = 0; j < kids.size(); j++ )
	        	        {
	        	        	Element kid = (Element) kids.get(j);
	        	        	debug.print( 2, kid.getName() + ": " + kid.getValue());
	        	        	if ( kid.getName().equals("dbHost") )
	        	        	{
	        	        		this.dbHost = kid.getValue();
	        	        		this.statusMySQL = true;
	        	        	}
	        	        	else if ( kid.getName().equals("dbPort") )
	        	        	{
	        	        		this.dbPort = kid.getValue();
	        	        		this.statusMySQL = true;
	        	        	}
	        	        	else if ( kid.getName().equals("dbName") )
		        	        {
		        	        	this.dbName = kid.getValue();
		        	        	this.statusMySQL = true;
		        	        }
	        	        	else if ( kid.getName().equals("dbUser") )
	        	        	{
	        	        		this.dbUser = kid.getValue();
	        	        		this.statusMySQL = true;
	        	        	}
		        	        else if ( kid.getName().equals("dbPass") )
	        	        	{
	        	        		this.dbPass = kid.getValue();
	        	        		this.statusMySQL = true;
	        	        	}
	        	        	else if ( kid.getName().equals("dbTable") )
	        	        	{
	        	        		this.dbTable = kid.getValue();
	        	        		this.statusMySQL = true;
	        	        	}
	        	        	else
	        	        	{
	        	        		this.statusMySQL = false;
	        	        	}
	        	        }
	        		}
	        	}
	        	else if ( kind.getName().equals("Seriell") )
	        	{
	        		debug.print( 2, "Seriell" );
	        		List kids = (List) kind.getChildren();
	        		if ( kids.size() != 1 )
	        		{
	        			debug.print( 1, "Fehler in XML File! -> Seriell zu wenig Konfigurationen" );
	        			this.statusSeriell = false;
	        		}
	        		else
	        		{
	        			for ( int j = 0; j < kids.size(); j++ )
	        	        {
	        	        	Element kid = (Element) kids.get(j);
	        	        	debug.print( 2, kid.getName() + ": " + kid.getValue());
	        	        	if ( kid.getName().equals("Schnittstelle") )
	        	        	{
	        	        		this.schnittStelle = kid.getValue();
	        	        		this.statusSeriell = true;
	        	        	}
	        	        	else
	        	        	{
	        	        		this.statusSeriell = false;
	        	        	}
	        	        }
	        		}
	        	}
	        }

	        
	    } 
	    catch (JDOMException e)
	    {
	    	debug.print( 3, "XML Verarbeitung fehlgeschlagen!" );
	    }
	    catch (IOException e)
	    {
	    	debug.print( 3, "Datei nicht gefunden!" );
	    }
	}

	public String getDbHost() 
	{
		return dbHost;
	}
	public String getDbPort() 
	{
		return dbPort;
	}
	public String getDbName()
	{
		return dbName;
	}
	public String getDbUser()
	{
		return dbUser;
	}
	public String getDbPass()
	{
		return dbPass;
	}

	public String getDbTable()
	{
		return dbTable;
	}

	public String getSchnittStelle()
	{
		return schnittStelle;
	}

	public boolean isStatusMySQL()
	{
		return statusMySQL;
	}

	public boolean isStatusSeriell()
	{
		return statusSeriell;
	}
}

Ich will unterschiedliche Konfigurationsmöglichkeiten über ein xml - File möglich machen. Dies war bisher statisch eingebaut. Deshalb habe ich hinzugefügt geschrieben.
 
Oh da hab ich was falsches kopiert beim Ausprobieren:

Java:
/java_ent# javac -cp /usr/share/java/RXTXcomm.jar:. -cp /usr/share/java/mysql-connector-java.jar:. -cp /usr/share/java/jdom1.jar Ausgabe.java CalculateValues.java ConfigRead.java DateiZugriff.java Debug.java MyListener.java MySolarAnlage.java MysqlConnection.java Oberflaeche.java SerialPortHandler.java SerialReadThread.java SolarAnlage.java

Dann kommen aber wieder andere Fehler:
Java:
SerialPortHandler.java:6: error: package gnu.io does not exist
import gnu.io.*; // RXTX
^
SerialPortHandler.java:9: error: cannot find symbol
    private SerialPort serialPort;
            ^
  symbol:   class SerialPort
  location: class SerialPortHandler
SerialPortHandler.java:73: error: cannot find symbol
                        CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(portName);
                        ^
  symbol:   class CommPortIdentifier
  location: class SerialPortHandler
SerialPortHandler.java:73: error: cannot find symbol
                        CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(portName);
                                                    ^
  symbol:   variable CommPortIdentifier
  location: class SerialPortHandler
SerialPortHandler.java:76: error: cannot find symbol
                    serialPort = (SerialPort) portId.open("Demo application", 5000);
                                  ^
  symbol:   class SerialPort
  location: class SerialPortHandler
SerialPortHandler.java:85: error: cannot find symbol
                catch (NoSuchPortException e)
                       ^
  symbol:   class NoSuchPortException
  location: class SerialPortHandler
SerialPortHandler.java:90: error: cannot find symbol
                catch (PortInUseException e)
                       ^
  symbol:   class PortInUseException
  location: class SerialPortHandler
SerialPortHandler.java:126: error: cannot find symbol
            serialPort.setSerialPortParams(baudRate,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
                                                    ^
  symbol:   variable SerialPort
  location: class SerialPortHandler
SerialPortHandler.java:126: error: cannot find symbol
            serialPort.setSerialPortParams(baudRate,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
                                                                          ^
  symbol:   variable SerialPort
  location: class SerialPortHandler
SerialPortHandler.java:126: error: cannot find symbol
            serialPort.setSerialPortParams(baudRate,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
                                                                                                ^
  symbol:   variable SerialPort
  location: class SerialPortHandler
SerialPortHandler.java:127: error: cannot find symbol
            serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
                                          ^
  symbol:   variable SerialPort
  location: class SerialPortHandler
SerialPortHandler.java:129: error: cannot find symbol
        catch (UnsupportedCommOperationException ex)
               ^
  symbol:   class UnsupportedCommOperationException
  location: class SerialPortHandler
12 errors
 
bisher hat es mit dieser Angabe funktioniert:

-cp /usr/share/java/RXTXcomm.jar:.

und im Eclipse wird dieser Import auch nicht angemeckert und der Code läuft.

Das ist das was mich wundert.
 
Problem gelöst! Ich habe den -cp Parameter falsch angegeben. Man muss die unterschiedlichen jar´s mit : trennen.

Code:
javac -cp /usr/share/java/RXTXcomm.jar:/usr/share/java/mysql-connector-java.jar:/usr/share/java/jdom1.jar
 

Zurück
Oben