Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

package problem

[es] :: Java :: package problem

[ Pregleda: 2860 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

karas

Član broj: 5574
Poruke: 482
*.33.EUnet.yu



+1 Profil

icon package problem10.10.2003. u 15:29 - pre 250 meseci
U fajlu MyClass.java je:

Code:

package mypackage;
import mypackage.*;

public class MyClass
{
  public static void main(String args[])
  {
    OtherClass c = new OtherClass();
  }
}


A u fajlu OtherClass.java:

Code:

package mypackage;

class OtherClass
{
  public OtherClass()
  {
    System.out.println("Hello, World!");
  }
}


Prevodilac "cannot resolve symbol" OtherClass u MyClass.java. Zashto?

Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: package problem11.10.2003. u 20:30 - pre 250 meseci
Pošalji kompletan output, tačno kakvu grešku dobiješ?

Uglavnom, znam gde se najčešće greši kod toga pa evo šta da probaš u međuvremenu.

Napravi direktorijum koji se zove isto kao package koji praviš (mypackage). U njega ubaci oba .java source fajla i kucaj 'javac *.java'. Zatim siđi direktorijum "niže" (cd ..) i tamo pokreni to sa 'java mypackage.MyClass'.

Kod je ispravan inače i radiće. Pazi na mala i velika slova i kod komandi i kod davanja imena fajlovima, java je case sensitive. Ako ništa od toga ne pomogne, daj kompletnu prepisku šta si radio kao i sadržaj fajlova i direktorijuma, pa da vidimo.
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.222.EUnet.yu



+1 Profil

icon Re: package problem13.10.2003. u 22:13 - pre 249 meseci
javac *.java prevodi bez problema, ali pri izvrshavanju nastaje problem. Sledecci kod ne mozze da se izvrshi ako se ukljuche redovi "package mypackage" i "import mypackage" u oba fajla, dok sve lepo radi kad ih nema!?


Code:

/*                  MyMain.java

Prikazuje jednostavan JFrame sa JButton koji pokrecce MyDialog.

*/

// package mypackage;

// import mypackage.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class MyMain extends JFrame
{
// Fields


  JButton b = new JButton("button");


// Constructors


  public MyMain()
  {
    b.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        JDialog d = new MyDialog(MyMain.this);
      }
    });
    getContentPane().setLayout(new FlowLayout());
    getContentPane().add(b);
    addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
        System.exit(0);
      }
    });
    setSize(200, 200);
    setLocation(100, 100);
    setVisible(true);
  }


// Methods


  public static void main(String args[])
  {
    MyMain m = new MyMain();
  }
}



Code:

/*                MyDialog.java  

Prazan JDialog.

*/

// package mypackage;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


class MyDialog extends JDialog
{
  public MyDialog(JFrame parent)
  {
    super(parent, "My Dialog", true);
    addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
        dispose();
      }
    });
    setSize(100, 100);
    setLocation(100, 100);
    setVisible(true);
  }
}



Sve se lepo prevede ali "java MyMain" izbacuje

Exception in thread "main" java.lang.NoClassDefFoundError: MyMain (wrong name: mypackage/MyMain)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:488)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:243)
at java.net.URLClassLoader.access$100(URLClassLoader.java:51)
at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:183)
at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:288)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:310)


Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: package problem13.10.2003. u 22:58 - pre 249 meseci
Kao sto ti je Gojko rekao ako imas 'package mypackage' *.class fajlovi moraju da budu u direktorijumu koji se zove 'mypackage'.

Java interpreter *.class fajlove trazi u direktorijumima i jar/war/ear/... fajlovima navedenim u envirnoment promenljivoj CLASSPATH, u spisku koji zadajes opcionim parametrom -classpath i u aktivnom direktorijumu, u poddirektorijumu koji se zove isto kao i paket (npr. za org.es.Klasa class fajl bi npr. trebalo da se nalazi ispod ./org/es u fajlu Klasa.class)

Po gresci koja ti se javlja imam utisak da si interpreter pokrenuo iz direktorijuma mypackage a trebalo je iz onog iznad.

Inace, 'package mypackage' implicitno uvozi sve klase iz istog paketa, tako da 'import mypackage' nije neophodan.
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.213.EUnet.yu



+1 Profil

icon Re: package problem14.10.2003. u 11:56 - pre 249 meseci
Sve sam ja to uradio i pre nego shto sam postavio pitanje ali nije ishlo. Sad sam video da umesto "java MyMain" iz mypackage direktorijuma treba "java mypackage/MyMain" iz roditeljskog direktorijuma od mypackage!? Zashto tako?

Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9514
*.yubc.net



+10255 Profil

icon Re: package problem03.11.2003. u 14:24 - pre 249 meseci
Upravo zato sto si definisao package.
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

[es] :: Java :: package problem

[ Pregleda: 2860 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.