Mam problem ze zmienną CLASSPATH może kiedys ktoś mi pomoże
o co chodzi bo nie bardzo rozumiem, zrobiłem test pod Linuxikiem ale to samo
mi wywala i jestem w kropce ponieważ wychodzi na to ze robiąc dokładnie tak
samo jak Bruce Eckel popełniam błąd czyli tak jakby w ten sposób nie
tworzyło sie pakietów w javie...

1.) Zmienna CLASSPATH ma taka
wrtość:-----------------------------------------------------
dns2 rozdzial05 # echo $CLASSPATH
.

2.) Listuję co mam w
katalogu:---------------------------------------------------------------

dns2 rozdzial05 # ls -l
razem 12
-rw-r--r-- 1 qman users 155 gru 12 19:05 LibTest.java
-rw-r--r-- 1 qman users 119 gru 12 19:06 List.java
-rw-r--r-- 1 qman users 125 gru 12 19:06 Vector.java

2.)Kompiluję List.java który wygląda
tak:-------------------------------------------------
package pl.lumen.sebek;

public class List
{
public List()
{
System.out.println("pl.lumen.sebek.List");
}
}

dns2 rozdzial05 # javac -verbose List.java -d .
[parsing started List.java]
[parsing completed 132ms]
[checking pl.lumen.sebek.List]
[loading /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/lang/Object.class)]
[loading /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/lang/System.class)]
[loading
/opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/io/PrintStream.class)]
[loading /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/lang/String.class)]
[loading
/opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/io/FilterOutputStream.class)]
[loading
/opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/io/OutputStream.class)][wrote
./pl/lumen/sebek/List.class]
[total 891ms]

3.) Kompiluję Vector.java, który wygląda
tak:------------------------------------------------
package pl.lumen.sebek;

public class Vector
{
public Vector()
{
System.out.println("pl.lumen.sebek.Vector");
}
}

dns2 rozdzial05 # javac -verbose Vector.java -d .
[parsing started Vector.java]
[parsing completed 133ms]
[checking pl.lumen.sebek.Vector]
[loading /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/lang/Object.class)]
[loading /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/lang/System.class)]
[loading
/opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/io/PrintStream.class)]
[loading /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/lang/String.class)]
[loading
/opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/io/FilterOutputStream.class)]
[loading
/opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/io/OutputStream.class)][wrote
./pl/lumen/sebek/Vector.class]
[total 894ms]

4.) Chcę skompilować plik LibTest.java który wygląda tak:
import pl.lumen.sebek.*;

public class LibTest
{
public static void main(String[] args)
{
Vector v = new Vector();
List l = new List();
}
}

dns2 rozdzial05 # javac -verbose LibTest.java
[parsing started LibTest.java]
[parsing completed 133ms]
[loading /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/lang/Object.class)]
[loading /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar(java/lang/String.class)]
[checking LibTest]
[loading ./Vector.java]
[parsing started ./Vector.java]
[parsing completed 2ms]
LibTest.java cannot access Vector
bad class file: ./Vector.java
file does not contain class Vector
Please remove or make sure it appears in the correct subdirectory of the
classpath.
Vector v = new Vector();
^
[total 835ms]
1 error


A Jeśli plik LibTest.java zmienię jego zawartość na poniższą czyli zrobie
import jawny danej klasy to wszystko działa np jeśli:
import pl.lumen.sebek.List;

public class LibTest
{
public static void main(String[] args)
{
//Vector v = new Vector();
List l = new List();
}
}

usunąłem więc gwiazdkę która ma oznaczac ze importowac nalezy wszystkie
klasy i zastapiłem odpowiednią nazwą ( z import pl.lumen.sebek.*; na import
pl.lumen.sebek.List) i zadziałało tylko dlaczego gwiazdka nie działa??