IntelliJ idea не хочет использовать мою внешнюю библиотеку

#java #intellij-idea #jar

#java #intellij-idea #jar

Вопрос:

У меня есть школьный проект по созданию библиотеки Jar, содержащей базовую систему управления картами, а затем использовать ее в основном проекте (игра в блэкджек)

С помощью IDEA я разделил модули, затем создал артефакт jar. Теперь у меня есть все мои классы в моем jar .

Общее имя модуля управления картами Carte называется (card на французском языке), генерируется в Carte.jar файл

Теперь я добавляю этот jar в качестве библиотеки для blakcjack модуля…

Я сделал import Carte.*; то, что мне дали unresolved symbol Carte

Без импорта я получил неразрешенный символ для классов из моей библиотеки

Как я должен использовать свою библиотеку?

введите описание изображения здесь
введите описание изображения здесь

Комментарии:

1. добавьте весь код в тот же jar вместо импорта библиотеки = D

2. Это требование моей школы. Мой модуль blackjack должен импортировать систему управления картами, встроенную в jar…

Ответ №1:

Похоже, что классы в вашей библиотеке находятся в пакете по умолчанию, то есть у них нет указанного имени пакета. Carte это имя модуля, но не пакета Java. Я отметил, что я имею в виду на этом скриншоте.

Java не позволяет импортировать классы из пакета по умолчанию в соответствии со спецификацией языка Java:

Импорт типа из неназванного пакета является ошибкой времени компиляции.

Итак, вам следует избегать пакета по умолчанию, чтобы иметь возможность использовать классы из библиотеки.

Другая возможная причина, по которой классы, похоже, находятся в пакете по умолчанию, заключается в том, что вы неправильно упаковали jar.

Комментарии:

1. Спасибо! У моего модуля «Carte» действительно не было пакета. Добавление одного и сборка jar устранили проблему. Спасибо!