Jar во внешних библиотеках, но не может импортировать в коде - PullRequest
1 голос
/ 02 июня 2019

(дополнительная информация внизу)

Я использую Maven для получения MySQL Connector для Java

dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.16</version>
</dependency>

Как таковой, он отображается в моих внешних библиотеках (intellij)

screenshot of external libraries (intellij)

Однако в моем коде я не могу импортировать java.sql.*, поскольку java.sql не является опцией.

screenshot of failed java.sql import

Кроме того, я позаботился о том, чтобы структура моего проекта была правильной, установив зависимость в качестве области компиляции

screenshot of project structure

Я также аннулировал кэш.

Я немного застрял в этой проблеме и не могу найти решение;приветствуется любая помощь.

Дополнительная информация: java.sql Работает в проектах java 8 Работает в пустых проектах java 12 (не создается с использованием архетипа openjfx 12)

Внутри main у меня теперь есть строкакод:

java.sql.Connection c = null;

Сообщение об ошибке, которое я получаю при запуске:

Error:(37, 9) java: package java.sql is not visible
  (package java.sql is declared in module java.sql, but module com.github.phaserush does not read it)

1 Ответ

2 голосов
/ 02 июня 2019

Ошибка указывает, что вы используете систему модулей Java, и модуль java.sql (содержащий пакеты java.sql и javax.sql) не является частью набора модулей по умолчанию, загружаемого Java.Вам нужно будет явно зависеть от него.

В вашем src/main/java отредактируйте module-info.java и добавьте requires java.sql;.Например:

module com.github.phaserush {
    requires java.sql;
}

Где com.github.phaserush - имя вашего модуля на основе сообщения об исключении в вашем вопросе.

...