You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Garret Wilson (JIRA)" <ji...@apache.org> on 2019/03/03 00:31:00 UTC
[jira] [Updated] (MJAVADOC-581) critical error with non-ASCII
charcters in directory name: cannot read Input length = 1
[ https://issues.apache.org/jira/browse/MJAVADOC-581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Garret Wilson updated MJAVADOC-581:
-----------------------------------
Description:
This is a critical bug that breaks the build. I originally posted this [on Stack Overflow|https://stackoverflow.com/q/53449049/421049] but got no response.
I'm using OpenJDK 11 on Windows 10. I have a very simple POM, for a single Java file, that generates Javadocs. Here is an extract:
{code:xml}
<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>
{code}
Strangely just running {{mvn clean package}} causes an error:
{noformat}
[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
{noformat}
In {{target/apidocs}} there are only three files: {{javadoc.bat}}, {{options}}, and {{packages}}. The {{options}} file is the most interesting. It explicitly says {{UTF-8}} everywhere, as it should. But look at these lines:
{noformat}
-sourcepath
C:/projects/li��o 1/src/main/java
{noformat}
This project is in {{C:\projects\lição 1}}. It appears that somewhere along the chain Java or Maven or the Javadoc plugin didn't correctly convert the directory name to UTF-8.
Sure enough; when I renamed the directories in Windows to remove non-ASCII characters, {{mvn clean package}} worked just fine.
This would seem like a blatant bug; once Maven starts, everything should be UTF-8 throughout.
One [answer on Stack Overflow|https://stackoverflow.com/a/53528778/421049] gives you a hint of what's going wrong.
In any case, I consider this to be a huge bug related to fundamental functioning. It absolutely must be fixed. Users can't suddenly see their build broken if their directory name has a non-ASCII character in it.
was:
This is a critical bug that breaks the build. I originally posted this [on Stack Overflow|https://stackoverflow.com/q/53449049/421049] but got no response.
I'm using OpenJDK 11 on Windows 10. I have a very simple POM, for a single Java file, that generates Javadocs. Here is an extract:
{code:xml}
<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>
{code}
Strangely just running {{mvn clean package}} causes an error:
{noformat}
[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
{noformat}
In {{target/apidocs}} there are only three files: {{javadoc.bat}}, {{options}}, and {{packages}}. The {{options}} file is the most interesting. It explicitly says {{UTF-8}} everywhere, as it should. But look at these lines:
{noformat}
-sourcepath
C:/projects/li��o 1/src/main/java
{noformat}
This project is in {{C:\projects\lição 1}}. It appears that somewhere along the chain Java or Maven or the Javadoc plugin didn't correctly convert the directory name to UTF-8.
Sure enough; when I renamed the directories in Windows to remove non-ASCII characters, {{mvn clean package}} worked just fine.
This would seem like a blatant bug; once Maven starts, everything should be UTF-8 throughout.
One [answer on Stack Overflow|https://stackoverflow.com/a/53528778/421049] gives you a hint of what's going wrong.
In any case, I consider this to be a huge, core bug. It absolutely must be fixed. Users can't suddenly see their build broken if their directory name has a non-ASCII character in it.
> critical error with non-ASCII charcters in directory name: cannot read Input length = 1
> ---------------------------------------------------------------------------------------
>
> Key: MJAVADOC-581
> URL: https://issues.apache.org/jira/browse/MJAVADOC-581
> Project: Maven Javadoc Plugin
> Issue Type: Bug
> Components: javadoc
> Affects Versions: 3.0.1
> Reporter: Garret Wilson
> Priority: Critical
>
> This is a critical bug that breaks the build. I originally posted this [on Stack Overflow|https://stackoverflow.com/q/53449049/421049] but got no response.
> I'm using OpenJDK 11 on Windows 10. I have a very simple POM, for a single Java file, that generates Javadocs. Here is an extract:
> {code:xml}
> <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>
> {code}
> Strangely just running {{mvn clean package}} causes an error:
> {noformat}
> [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
> {noformat}
> In {{target/apidocs}} there are only three files: {{javadoc.bat}}, {{options}}, and {{packages}}. The {{options}} file is the most interesting. It explicitly says {{UTF-8}} everywhere, as it should. But look at these lines:
> {noformat}
> -sourcepath
> C:/projects/li��o 1/src/main/java
> {noformat}
> This project is in {{C:\projects\lição 1}}. It appears that somewhere along the chain Java or Maven or the Javadoc plugin didn't correctly convert the directory name to UTF-8.
> Sure enough; when I renamed the directories in Windows to remove non-ASCII characters, {{mvn clean package}} worked just fine.
> This would seem like a blatant bug; once Maven starts, everything should be UTF-8 throughout.
> One [answer on Stack Overflow|https://stackoverflow.com/a/53528778/421049] gives you a hint of what's going wrong.
> In any case, I consider this to be a huge bug related to fundamental functioning. It absolutely must be fixed. Users can't suddenly see their build broken if their directory name has a non-ASCII character in it.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)