| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > javac : как правильно откомпилировать? |
| Автор: AndreQ 27.1.2006, 00:57 | ||||
| Очень простая структура классов : A.class
C.class
ком. строка :javac -sourcepath . C.java Вопрос почему не находится класс "B"? И самое главное как это откомпилировать? p.s. вариант : javac -sourcepath . *.java - не предлагать |
| Автор: onsh76 27.1.2006, 03:59 | ||||
Потому как наблюдается ошибка в классе С:
Вот так например:
|
| Автор: batigoal 27.1.2006, 09:14 | ||
| Почему, вполне возможно такое. AndreQ А ты файл A.java предварительно скомпилировал? Это опечатка, или они у тебя действительно называются .class? Хотя это и не существенно. У меня все нормально отработало:
|
| Автор: val 27.1.2006, 10:05 | ||
Рекомендую не заморачивать себе голову, а происталлировать какую-нибудь среду разработки, она и все пути пропишет и на ошибки укажет. Со своей стороны рекомендую Eclipse, но это вопрос вкуса. |
| Автор: LSD 27.1.2006, 10:24 |
| Проблема будет если класс B объявлен не в файле B.java, т.к. package private класс может быть объявлен в любом файле (хоть QQQ.java) компилятор не может просматривать их все в поисках нужного класса. |
| Автор: batigoal 27.1.2006, 10:35 | ||
Компилятор же их, по-моему, вообще не просматривает. Он работает только в рамках того фала, который подан ему на вход. |
| Автор: LSD 27.1.2006, 11:23 | ||
Ну да, он их не просматривает. Но если ему будет нехватать класса Foo, то он по крайней мере попытается найти его в файле Foo.java и скомпилировать. |
| Автор: batigoal 27.1.2006, 11:57 |
| Круто. Не знал. |
| Автор: onsh76 27.1.2006, 20:02 | ||||
Тормознул, пардон. |
| Автор: batigoal 27.1.2006, 22:55 | ||
|
| Автор: AndreQ 28.1.2006, 03:34 |
| Так что, получается невозможно из командной строки нормально скомпилить проект если в нём будут встречаться не public классы? (Eclipse то, каким-то образом это проделывает) Вариант скомпилить сначала класс А, а потом С малость неудобен для большого проекта в котором может быть туча таких ситуаций. Добавлено @ 03:35 Так что, получается невозможно из командной строки нормально скомпилить проект если в нём будут встречаться не public классы? (Eclipse то, каким-то образом это проделывает) Вариант скомпилить сначала класс А, а потом С малость неудобен для большого проекта в котором может быть туча таких ситуаций. |
| Автор: LSD 28.1.2006, 12:49 | ||
1. Для сборки больших проектов лучше использовать средства посерьезней, типа ANT или Maven (у нас в FAQ есть статейка про ANT). 2. Помещай не public классы в отдельный файлы, так же как и public. Тогда компилятор справится с ними. |