Всем привет. Штудирую Эккеля, пытаюсь разобраться в компиляции пакетов, но пример в книге описан скудно, в сети инфы толковой не нашел, поэтому прошу тут гуру разжевать мне в чем проблема.
Вообщем, есть папка access, в ней файл LibTest.java, его содержимое:
Пробовал компилировать разными командами, например
Переменные среды установлены, для Path добавлен путь C:\Program Files\Java\jdk1.7.0_60\bin, для CLASSPATH добавлен D:\Work\Java\stud
Что я делаю не так, почему компилятор не подтягивает файлы пакета, как я понимаю он должен их искать в CLASSPATH?
Вообщем, есть папка access, в ней файл LibTest.java, его содержимое:
//: access/LibTest.java
// Uses the library.
import net.mindview.simple.*;
public class LibTest {
public static void main(String[] args) {
Vector v = new Vector();
List l = new List();
}
} /* Output:
net.mindview.simple.Vector
net.mindview.simple.List
*///:~
На одном уровне с папкой access есть пакет net/mindview/simple, в папке simple лежит файл List.java
//: net/mindview/simple/List.java
// Creating a package.
package net.mindview.simple;
public class List {
public List() {
System.out.println("net.mindview.simple.List");
}
} ///:~
и файл Vector.java
//: net/mindview/simple/Vector.java
// Creating a package.
package net.mindview.simple;
public class Vector {
public Vector() {
System.out.println("net.mindview.simple.Vector");
}
} ///:~
Файлы Vector.java и List.java компилируются нормально, а когда пытаюсь скомпилировать LibTest.java то получаю ошибку LibTest.java:3: error: package net.mindview.simple does not existПробовал компилировать разными командами, например
javac LibTest.java
javac -classpath . LibTest.java
javac D:/Work/Java/stud/access/LibTest.java
Переменные среды установлены, для Path добавлен путь C:\Program Files\Java\jdk1.7.0_60\bin, для CLASSPATH добавлен D:\Work\Java\stud
Что я делаю не так, почему компилятор не подтягивает файлы пакета, как я понимаю он должен их искать в CLASSPATH?
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
я описал полностью процесс начиная с создания проекта до компиляции в jar и в exe.
В идее вообще ничего делать не надо — раз раз и готово. :)
Папку access я переименовал в src:
Почему *.class не стоит располагать в src и как сделать по-другому, а также почему можно просто выполнить команду javac LibTest.java — тебе стоит разобраться самому.
1. Читаешь про пакеты в java
2. Делаешь у себя папочки, как написано в ошибке
3. Помещаешь туда код
4. Или просто в идее кликаешь на красный (100%) пакет сверху класса, и тебе предлагает все исправить за тебя