Я использую OpenJDK 11 в Windows 10. У меня очень простое POM для одного файла Java, который генерирует Javadocs.Вот выдержка:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Странно, что только mvn clean package
вызывает ошибку:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.0.1:jar (default) on project foobar: MavenReportException: Error while generating Javadoc:
[ERROR] Exit code: 1 - javadoc: error - cannot read Input length = 1
[ERROR]
[ERROR] Command line was: C:\bin\jdk-11\bin\javadoc.exe @options @packages
В target/apidocs
есть только три файла: javadoc.bat
, options
и packages
.Файл options
является наиболее интересным.Он явно говорит UTF-8
везде, как и должно быть.Но посмотрите на эти строки:
-sourcepath
C:/projects/li��o 1/src/main/java
Этот проект находится в C:\projects\lição 1
.Похоже, что где-то в цепочке Java, Maven или плагина Javadoc не удалось правильно преобразовать имя каталога в UTF-8.
Конечно же;когда я переименовал каталоги в Windows, чтобы удалить символы, не входящие в ASCII, mvn clean package
работал просто отлично.
Это казалось бы явной ошибкой;как только Maven запускается, все должно быть UTF-8 повсюду.Это проблема с плагином Javadoc?У кого-нибудь есть идея, откуда это происходит?Где я должен подать заявку на ошибку?Или я что-то не так делаю?