1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

JAVA: compiler findet klassen innerhalb eines packages nicht?

    • Frage
  • GetStoopid
  • 20. März 2003 um 21:39
  • Unerledigt
  • GetStoopid
    6
    GetStoopid
    Mitglied
    Punkte
    365
    Beiträge
    65
    • 20. März 2003 um 21:39
    • #1

    hiho...
    hab ein riesen prob, java (kdk1.4.1) findet klassen innerhalb eines packages nicht wenn ich davon instanzen erzeuge...
    verstehs net so wirklich... kann damit nix machen, wenn alles im default-package steht funkt es...
    hatte das prob schonmal bei eprog, aber da dachte ich, es liegt an der eprog.jar (die macht ja viele saudumme dinge)

    ich krieg als compilermeldung "cannot resolve symbol class DbConnection
    location database.MyQuery

    hab auch schon versucht vor das DbConnection das package zu schreiben, also database.DbConnection
    dann sagt er halt "location package database"


    bitte helft mir rasch, wenn möglich!

    ---code---

    package database;
    import java.sql.*;
    public class MyQuery
    {
    ResultSet result;
    String sqlquery = null;
    Statement stmt;
    public MyQuery(String sqlquery)
    {
    this.sqlquery = sqlquery;
    this.createQuery(sqlquery);
    }

    public ResultSet createQuery(String sqlquery) throws Exception
    {
    try
    {
    DbConnection con = new DbConnection(); <-- hier krieg ich den fehler

    }
    catch(SQLException sqle)
    {
    System.out.println("Failed to connect to database" );
    }
    return result;
    }
    }

    package database;
    import java.sql.*;
    public class DbConnection
    {
    Connection con;
    public DbConnection()
    {
    .
    .
    .
    con = DriverManager.getConnection("jdbc:odbc:Theater" );
    System.out.println("Connecting to database..." );
    }
    catch(SQLException sqle)
    {
    System.out.println("Failed to connect to database" );
    }
    }
    /* close the connection */
    public void closeConnection() throws SQLException
    {
    try
    {
    con.close();
    }
    catch(SQLException sqle)
    {
    System.out.println("Failed to close connection" );
    }
    }
    }
    ---/code---

    "Von allen Dingen die mir verloren gegangen, hab ich am meisten an meinem Verstand gehangen"

  • Zentor
    16
    Zentor
    Mitglied
    Reaktionen
    5
    Punkte
    2.710
    Beiträge
    506
    • 20. März 2003 um 22:08
    • #2

    Generell zu packages:
    Gib die .java in ein Verzeichniss das genauso heißt wies Package.
    zb. package klm

    ./abc
    ->
    ./abc/klm

    jetzt ist aber wichtig beim Classpath das Verzeichnis abc anzugeben und ned /abc/klm !!! Denn das Verzeichnis gilt schon als package.
    also am besten im /abc

    javac -classpath . [hierpathzumainmethode]
    java -classpath . [hierpathzumainclass(ohne'.class' )]

    Vielleicht löst das dein Problem.

    ach ja, weiters wo importierst du dein eigenes package? Das find ich im code nicht...

    mfg Zentor

  • GetStoopid
    6
    GetStoopid
    Mitglied
    Punkte
    365
    Beiträge
    65
    • 20. März 2003 um 22:12
    • #3

    das kuriose ist, dass es bei einer anderen klasse funktioniert...
    ich hab 2 packages...
    default --> gui, database
    im default liegt die main()
    von dort aus, ruf ich eine klasse in gui auf... das funktioniert super...
    diese ruft dann eine andere klasse im package gui auf, das funktioniert auch noch super... aber alle weiteren klassen werden nicht mehr gefunden
    also scheints nicht am classpath zu liegen...?
    und im package database finden sich die beiden klassen sowieso nicht... aber das hab ich eh schon geposted...

    "Von allen Dingen die mir verloren gegangen, hab ich am meisten an meinem Verstand gehangen"

  • Zentor
    16
    Zentor
    Mitglied
    Reaktionen
    5
    Punkte
    2.710
    Beiträge
    506
    • 21. März 2003 um 07:53
    • #4

    Wie schon gesagt, dann wirast du wohl einfach vergessen haben bei diesen Klassen das Package zu importieren (.* nicht vergessen).
    mfg Zentor

  • jeuneS2
    11
    jeuneS2
    Mitglied
    Reaktionen
    17
    Punkte
    1.227
    Beiträge
    238
    • 21. März 2003 um 08:49
    • #5

    ahjo, damit ich auch noch meinen Senf dazugeb: beim Arbeiten mit packages is oft auch hilfreich, wenn man im Classpath ".." dabei hat, weil dann findet er auch vom package-Verzeichnis aus das package.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern