Как правильно указать classpath для jar файлов в Intellij IDEA 2020.2?
Скачал jar файл javax.mail. И никак не могу понять как его засунуть в classpath. Из-за этого программа кидает NoClassDefFoundError. Как решить?
Отслеживать
задан 19 фев 2021 в 17:45
157 5 5 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
В IntelliJ вы конфигурируете используемые библиотеки, а при запуске все библиотеки добавляются в classpath самой IDE.
Что добавить библиотеку в проект в структуре проекта выбираете Project Settings -> Libraries -> + -> Java :
Отслеживать
ответ дан 19 фев 2021 в 18:15
Roman-Stop RU aggression in UA Roman-Stop RU aggression in UA
23.5k 1 1 золотой знак 18 18 серебряных знаков 29 29 бронзовых знаков
- java
- intellij-idea
- classpath
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.3.8.5973
Classpath
В большинстве случаев команды java и javac должны найти другие классы необходимые для компиляции и выполнения. Самый распространенный случай — это использование классов входящих в Java SE. Или, например, нам нужно скомпилировать и запустить класс, который использует другие классы, не входящие в Java SE.
Команды java и javac используют следующий алгоритм поиска:
- Они используют один и тот же список каталогов, в которых ищут необходимые файлы.
- Обе команды в процессе поиска просматривают список каталогов в одном и том же порядке.
- Как только необходимый класс найден, процесс поиска прекращается. Если список каталогов содержит два или более классов с одним и тем же именем, используется первый найденный.
- Первое место используемое в процессе поиска — это каталоги содержащие классы Java SE.
- Второе место — каталоги определенные в так называемом Сlasspath.
Classpath может быть задано двумя способами:
- Как переменная окружения CLASSPATH. Команды java и javac используют этот способ по умолчанию.
- Как ключ -classpath (или -cp) команд java и javac. Этот способ переопределяет список каталогов заданный переменной окружения, но только для конкретного вызова. Данный метод является более предпочтительным.
2. Использование ключа -classpath
Рассмотрим использование ключа -cp используя классы first.Example1 и second.Example2 , описанные здесь. Но предположим, что класс second.Example2 находится в другом проекте и доступны только его .class файлы. На рисунке изображена схема каталогов для данного примера:
Следующая команда будет использована для компиляции first.Example1 класса, где ключ -cp указывает на расположение .class файла second.Example2 :
cd projectExample1 javac -d classes -cp ../projectExample2/classes src/first/Example1.java
Для запуска программы используется команда:
cd projectExample1 java -cp classes;../projectExample2/classes first.Example1
Ключ -cp указывает расположение .class файла second.Example2 (как и при компиляции), а также путь для поиска .class файла first.Example1 — classes.
Несколько важных правил при использовании ключа -cp :
- Ключ -cp может содержать несколько каталогов, разделенных точкой с запятой, как показано в примере при запуске команды java .
- Если указывается подкаталог, это НЕ означает что родительский каталог тоже входит в classpath. Например, для ключа -cp ../projectExample2/classes , каталог ../projectExample2 не будет входить в classpath.
- Если используется ключ -cp , то команды javac и java НЕ ищут классы в текущем каталоге по умолчанию. Для указания текущего каталога используется точка. Например:
cd projectExample1/classes java -cp .;../../projectExample2/classes first.Example1
Презентацию с видео можно скачать на Patreon .
Как подключить MySQL к бесплатной версии Intellij IDEA (community)
Привет, сегодня покажу как подключить Ваше приложение к базе данных (БД) в бесплатной версии Intellij IDEA (community).В статье будет: много картинок, мало букв, будет интересно и полезно.
Статья ориентирована на людей уже знакомых с Java Core и MySQL.
А так же для подключения базы данных к приложению Вам необходимо скачать и перед прочтением статьи установить сервер с официального сайта (Это бесплатно).https://dev.mysql.com/downloads/workbench/
1: Создаём новый проект в Intellij IDEA
2: Затем идём вFile->Settings->Plugins->MarketPlace и в поисковой строке вводим Database Navigator.Устанавливаем, перезапускаем Intellij IDEA.
3: После установки плагина и перезапуска Intellij IDEA, в Вашем ТулБаре появится новое окно (DB Navigator)
4: Заходим в новое окно(DB Navigator), нажимаем зелёный плюсик и из предложенного списка выбираем MySQL
5: В появившемся окне вписываем в поле Name, имя которое вы хотите дать базе данных. Описание можно оставить пустым.Host и Port трогать не нужно. Проследите за тем что бы в поле Database была строка mysql. Вводим User и Password (Обычно это (root) для Логина и Пароля). После всего нажимайте Test Connection.
6: При тестировании соединения может возникнуть ошибка временной зоны. Для её исправления в поиске операционной системы вводим mysql, и выбираем MySQL Command Line Client (всё как на картинке).
7: В появившемся консоле вводим пароль БД, И вводим команду set global time_zone = ‘+3:00’;(+3 часа это мой часовой пояс так как я нахожусь в Минске, вы вводите часовой пояс своего города).
8: После исправления ошибки жмите Apply, Ok и в вашем DB navigator появляется структура БД с которой вы можете просматривать таблицы и БД.
9: Рекомендую при просматривании таблиц нажимать на кнопку No filters.
10: Теперь нужно установить драйвер (это быстро) для Вашей БД. Идём на официальный сайт ORACLE ( dev.mysql.com/downloads/connector/j ) и качаем архив. Выберите из списка Platform Independent.
11: Когда архив загрузился, открываем его и извлекаем файл (смотрите картинку) в папку (путь к папке нужно запомнить).
12: Переходим в Intellij IDEA, там ищем File->Project Structure ->SDK’s -> плюсик который отмечен стрелкой -> ищем файл который только что скачали -> жмём ОК.
13: База Данных подключена к Intellij IDEA! Теперь надо разобраться как подключиться к ней через приложение. Для этого я создал класс который назвал TestConnection и в нём прописал константы (USER_NAME, PASSWORD, URL), создал статические Statement и Connection.
14: Кстати что бы найти значение поля URL, нужно открыть Ваш DB Navigator, нажать на зелёный плюс, выбрать mysql(Тут БД может попросить логин и пароль), и в открывшемся окне выбрать Info. Скопировать значение строки Connection URL.Это и будет URL.
15: Осталось немного. Просим у ДрайверМенеджера что бы он дал нам соединение (смотрите картинку ниже, верхний красный блок).Всё должно быть обёрнуто в ТрайКэтч. А в нижнем блоке создаём Statement.
16: Как я уже писал статья ориентирована на людей уже знакомых с языком MySQL. все запросы легко гугляться, язык очень простой и является MustHave(обязательно) для каждого BackEND Developer, поэтому я не буду объяснять что написано на языке SQL (было бы очень долго). Что касается Java:
1 — В главном методе (main) нужно указать ClassPath (первая строка на картинке).
2 — Во втором красном блоке у Statement я вызвал метод executeUpdater. Его нужно использовать для обновления или добавления данных в таблице. Метод, по умолчанию, в параметры принимает строку в которую Вам следует писать ваши SQL-запросы обёрнутый в двойные кавычки.
3 — Добавление данных в таблицу наглядно.
4 — Для получения данных из таблицы я вызвал метод executeQuery у Statement, он так же принимает строку в параметры.
5 — Что бы вывести в консоль данные полученные с таблицы я использую цикл while с параметром (смотрите картинку) который проходит все строки таблицы по очереди, а в теле вызывается метод getString у resulySet (Всё как на картинке). этот метод принимает в параметры цифру которая означает номер колонки которую вы хотите получить.
Какие могут быть ошибки
Хочу рассказать о некоторых ошибках с которыми Вы можете встретиться, конечно вы можете это не читать, но это очень важно.
1 — Если создание таблицы прошло успешно, её следует закомментировать потому что так как таблица уже создана, при следующем запуске приложение вылетит, потому что код начнёт отрабатывать по новой и попытается создать ещё одну таблицу с таки же Name, а это запрещено.
Будет вот такая ошибка. Что значит «Таблица Name уже существует»
2 — Так же и со всеми данными, если они добавлены успешно, следует удалять или комментировать строки которые их добавляли или обновляли.
3 — Будьте внимательны с SQL, Intellij IDEA не подчёркивает ошибки которые вы допускаете в синтаксисе, закрывайте скобки и кавычки. Пример ошибки синтаксиса SQL
Всем спасибо
AlexOakUnlimited ©
FAQ по IntelliJ IDEA
Запустить код можно, если есть метод main. В этом случае есть два способа:
- Нажмите Ctrl+Shift+F10 .
- Нажмите правой кнопкой мыши по рабочей области в нужном классе и выберите Run или Debug
Как сделать чтобы отображался на экране номер позиции в строке кода, в которой находится курсор?
Открываем панель View > Status Bar ставим галочку. Если галочка стоит, то сделайте меньше окно, возможно у taskbar перекрывает окно IDEA.
Выдает ошибку:
java: try-with-resources is not supported in -source 1.6 (use -source 7 or higher to enable try-with-resources)
Нужно выставить уровень джавы выше 6 версии. Открываем Project Structure ctrl+alt+shift+s > Project > Project language level.
В лекциях есть задачи, а плагин их не видит
Похоже, что плагин в IntelliJ IDEA видит задачи другого аккаунта на сайте. Нужно сравнить секретные ключ на сайте и плагине. На сайте секретный ключ можно найти в настройках . В плагине секретный ключ находиться в файле JavaRushPlugin.properties
Как в intellij запустить программу в пошаговом режиме? Чтобы, например, при выполнении цикла от 0 до 4 в консоли выводились присвоенные значения и результаты вычислений на каждом шаге
Читайте статью «Как пользоваться Debug в Intellij IDEA».
Unable to find package java.lang in classpath or bootclasspath
Открываем панель File > Project Structure > Platform Settings > SDKs Во вкладке Classpath подключите все jar файлы из «путь к установленной джаве» /jre/lib.
Почему IntelliJ IDEA зачеркнула методы, которые прекрасно работают?
Это устаревшие методы, которыми нежелательно пользоваться. Они могут быть убраны в следующих версиях языка. Эти методы отмечены аннотацией Deprecated, и IDEA предупреждает об этом.
Где в IntelliJ IDEA вводить данные, которые будут читаться в программе
- Пишем программу.
- Запускаем Run
- Внизу появляется консоль.
- Пишем данные в консоль
- Жмем Enter
Как вернуть окошко с результатом компиляции программы, которое находится снизу
Используем горячие клавиши: Alt+0 — откроется панель Message Alt+4 — откроется панель Run Остальные панели можно найти View >Tool Windows.
Выводит . the SDK is not specified. Или код раскрашен красным цветом
- Открывает панель File >Project Structure (ctrl+alt+shift+s).
- Выбираем вкладку SDKs.
- Указываем путь к установленому пакету JDK.
Если код все еще подкрашен красным, но программа работает, то выполните File > Invalidate Caches
Почему IDEA выделяет мне некоторые элементы кода коричневым фоном?
Это так называемый Inspections. Можно считать это как Code Review. Если навести на такой элемент курсор мишки, IDEA выдаст подсказку и автоматически подменит код на более правильный по мнению IDEA. В ситуации с «for«, будет замена на более короткий «for each«.
Как мне включить стиль отступов K&R?
Используем горячие клавиши: Ctrl + Alt + L . Подробней в статье «Cтиль и форматирование кода».
Где в опциях проставить, чтобы результат выполнения задачи на экран выводился, а не сохранялся в консоль и файл соответственно?
-
В верхнем левом углу экрана есть выпадающий список (cлева от зеленого треугольника). Нажимаем и выбираем Edit configurations.
После переустановки IntelliJ IDEA и плагина сохранится ли прогресс и подписка?
Ваш прогресс и подписка привязаны к секретному ключу (файл JavaRushPlugin.properties). Никаких проблем не будет. Если хотите сохранить все решения — просто не удаляйте проект, а остальное можете смело переустанавливать.
После компиляции вместо кириллицы показывает знаки вопросов/непонятные символы, в чем может быть причина?
- Отрываем панель File >Settings, в строке поиска вводим Encoding. Выставляем Project Encoding —UTF-8.
Как сделать чтобы при запуске IntelliJ IDEA сразу отображались номера строк кода?
- Правый клик мыши по пустой слева от кода (см. скрин ниже) >Show line numbers.
Что нужно сделать, чтобы работало выделение shift-ом? Не работает ctrl+c и ctrl+v
- File >Settings (Ctrl+Alt+S)
- Plugins >Search ->vim (в поиске)
- Убрать галку. Ok. Restart.