У меня следующая структура каталогов.
$ tree.com //A //F
Folder PATH listing for volume Acer
Volume serial number is 127C-AD6A
C:.
| pom.xml
|
\---src
\---main
\---java
| module-info.java
|
\---dev
MyList.java
Для компиляции я использую следующую команду, и она работает успешно.
javac src/main/java/module-info.java src/main/java/dev/MyList.java
Вот мой pom.xml.
4.0.0
abc
xyz
123
org.apache.maven.plugins
maven-compiler-plugin
3.14.1
25
Вот мой модуль-info.java.
import dev.MyList;
module my.list {
provides java.util.List with MyList;
}
А вот мой файл MyList.java. Обратите внимание, что я использую новую языковую функцию, появившуюся в Java 25 — импорт модулей.
package dev;
import module java.base;
public final class MyList extends java.util.ArrayList {}
Когда я пытаюсь запустить mvn clean compile, я получаю следующий результат.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.14.1:compile (default-compile) on project xyz: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.14.1:compile failed: syntax error @[3,15] in file:/C:/Users/david/_WORKSPACE_NEW/_PROGRAMMING/_JAVA/TEMP/xyz/abc/src/main/java/dev/MyList.java -> [Help 1]
И прежде чем кто-нибудь спросит, нет, здесь нет никаких специальных символов или скрытых пробелов. Я удалил и перепечатал весь файл, поэтому не вижу, что здесь не так.
Я очень серьезно считаю, что это ошибка Maven. Я ошибаюсь?
Вот еще полезная информация для отладки:
$ mvn --version
Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1)
Maven home: C:\Users\david\_WORKSPACE_NEW\_PROGRAMMING\_MAVEN\apache-maven-3.9.12
Java version: 25.0.1, vendor: Oracle Corporation, runtime: C:\Users\david\_WORKSPACE_NEW\_PROGRAMMING\_JDK\jdk-25.0.1
Default locale: en_US, platform encoding: UTF-8
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"