0 / 0 / 0
Регистрация: 09.08.2013
Сообщений: 8
|
|
1 | |
Компиляция в командной строке класса, реализующего интрефейс11.08.2013, 15:16. Показов 2902. Ответов 13
Метки нет (Все метки)
Уважаемые форумчане, проблема детская, но тем не менее потратил на нее больше суток.
Есть интерфейс AccountService. Его реализует класс AccountServiceImpl. Скопмилировать интерфейс получается, а скомпилировать класс никак. Компилятор выдает ошибки в местах упоминания интерфейса, пишет что "cannot find symbol". Как указать компилятору на интерфейс? нужно ли указывать на java файл или же на скомпилированный файл? Статью ********* ликбез читал. С параметром -classpath как только не извращался -результат тот же. Скриншот и код прилагаются. Класс и интерфейс в одном пакете. Иерархия папок следующая: Project>Server>src>accountService(это пакет). Подскажите в чем я нуб и куда копать?
0
|
11.08.2013, 15:16 | |
Ответы с готовыми решениями:
13
Компиляция в командной строке Компиляция в командной строке Компиляция в командной строке. Компиляция в командной строке |
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
|
|
11.08.2013, 15:46 | 2 |
А ты код наверно в блокноте писал?
0
|
6 / 6 / 1
Регистрация: 21.04.2013
Сообщений: 28
|
||||||
11.08.2013, 16:50 | 3 | |||||
пакет:
0
|
0 / 0 / 0
Регистрация: 09.08.2013
Сообщений: 8
|
|
12.08.2013, 10:47 [ТС] | 5 |
Да действительно все писал в блокноте, но параллельно проверял в NetBeans. За конструктор спасибо, действительно проглядел. Но после добавления конструктора результат не изменился. компилятор по прежнему не находит интерфейс.
0
|
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
|
|
12.08.2013, 10:50 | 6 |
создай в netbens либо антовский проект, либо мавенский и будет тебе счастье.
0
|
0 / 0 / 0
Регистрация: 09.08.2013
Сообщений: 8
|
|
12.08.2013, 11:00 [ТС] | 7 |
Спасибо за совет, сейчас попробую. Но все же хочется узнать, почему из командной строки ничего не получается?
0
|
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
|
|
12.08.2013, 12:36 | 8 |
вот так запусти: javac AccountService.java AccountServiceImpl.java
но только после исправлений всех ошибок в коде. Добавлено через 11 минут или еще проще. запусти javac *.java
0
|
0 / 0 / 0
Регистрация: 09.08.2013
Сообщений: 8
|
|
12.08.2013, 13:11 [ТС] | 9 |
Компиляцию всего пакета я делал еще вчера. результат тот же. На данный момент все ошибки через NetBeans исправил, клиентская и серверная части работают. Но в командной строке все по прежнему. Я сейчас на стену лезть начну
0
|
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
|
|
12.08.2013, 14:31 | 10 |
создай ant или maven проект. а потом либо netbeans-ом собирай, либо через командную строку.
0
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
13.08.2013, 14:27 | 11 |
А интерфейс AccountService уже скомпилирован? Где его код?
0
|
0 / 0 / 0
Регистрация: 09.08.2013
Сообщений: 8
|
|
17.08.2013, 19:26 [ТС] | 12 |
Евгений, код интерфейса в том же пакете, он уже был скомпилирован, пробовал указывать компилятору через параметр -classpath как скомпилированный .class так и .java. и ни как. может я делаю ошибку где то в синтаксисе командной строки. На хабре встретил статью, где говорилось про параметр -sourcepath.
Добавлено через 19 минут Вот что конкретно указываю в командной строке F:\Project\Server>javac -classpath ./bin -d ./bin ./src/accountServiceProg/Accou ntServiceImpl.java
0
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
19.08.2013, 14:13 | 13 |
Это будет работать только если интерфейс уже был скомпилирован с теми же ключами javac.
P.S. Можно добавить -sourcepath ./src, но понимания происходящего это не добавит.
1
|
0 / 0 / 0
Регистрация: 09.08.2013
Сообщений: 8
|
|
19.08.2013, 16:36 [ТС] | 14 |
Стыдно признаться, но я нуб!!! Столько раз заглядывал в исходные файлы и никак не мог заметить ошибку в написании пакета! Теперь все работает.
Евгений, в статье "Ликбез" про sourcepath ничего не сказано, но из описания в самом терминале и из статьи http://www.ibm.com/developerwo... h-windows/, я так понимаю, что у нас при компиляции есть два пути: либо указать через -sourcepath на еще не скомпилированный интерфейс (другой класс и т.д.), либо через -classpath указать уже на скомпилированный интерфейс (другой класс и т.д.). А результатом и в том и в другом случае будет компиляция реализующего интерфейс класса. Я все правильно понял или есть более глубокая разница между этими параметрами компилятора?
0
|
19.08.2013, 16:36 | |
19.08.2013, 16:36 | |
Помогаю со студенческими работами здесь
14
Не работает компиляция в командной строке Компиляция кода в командной строке Компиляция программы на C# в командной строке Компиляция программы на Си на командной строке Windows Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |