В настоящее время я переношу проект на Java 11 (т.е. >= 9), и поскольку JavaFX, похоже, больше не работает без модулей, я сейчас добавляю файлы module-info.java
во все подпроекты. Но я получаю следующую ошибку:
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/mangu/workspace/cloudstore.2/co.codewizards.java9test.project1/src/main/java/module-info.java:[6,21] module not found: org.slf4j
[INFO] 1 error
Я использую OpenJDK 11.0.3, Maven 3.6.1 (встроенный в Eclipse 2019-06), и у меня определенно есть зависимость от модуля org.slf4j, объявленная в моем pom.xml!
Чтобы упростить ситуацию, я создал небольшой минимальный тестовый проект, вызывающий ту же ошибку.
Вот тестовый проект pom.xml
:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>co.codewizards.java9test</groupId>
<artifactId>co.codewizards.java9test.project1</artifactId>
<version>0.1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>9</maven.compiler.source>
<maven.compiler.target>9</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.8.0-beta4</version>
</dependency>
</dependencies>
</project>
Пробовал обе: 1.8.0-beta4 и 2.0.0-alpha0. Eclipse показывает мне существующий module-info.class
в обоих JAR (т.е. в настоящее время внутри slf4j-api-1.8.0-beta4.jar
).
Вот module-info.java
:
module co.codewizards.java9test.project1 {
requires java.base;
requires java.se;
requires org.slf4j;
}
А вот вывод из mvn clean install -Dmaven.test.skip=true -X
(но выполняется внутри Eclipse): mvn. журнал
Любая идея, что я делаю неправильно?
Обновление: я только что загрузил небольшой тестовый проект: co.codewizards.java9test.project1.7z
module not found
ошибку, но когда Пробовал пропатчить модуль. В моем случае модуль не был найден, потому что его просто не было в пути к модулю. - person St.Antario   schedule 01.08.2019