0 / 0 / 0
Регистрация: 09.08.2013
Сообщений: 8
|
|
1 | |
Компиляция в командной строке класса, реализующего интрефейс11.08.2013, 15:16. Показов 2917. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
|
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows
Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
|
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
|
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
|
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
|
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
|
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
|
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|