IntelliJ JavaDoc - error - cannot read Input length = 1

10.5k Views Asked by At

I know there are plenty of questions about this problem, but no one of the solved it for me! I'm using the Community Edition of IntelliJ and I tried to run JavaDoc through the IDE. Everytime and it doesn't matter fo which file, I run JavaDoc I got the following output:

javadoc: error - cannot read Input length = 1

I already figured out, that it might be an encoding problem... I'm working on a Windows 10 maschine. I already tried the following:

  • JavaDoc argfile encoding error
  • Start the terminal from IntelliJ with cmd.exe /K chcp 65001 instead of the default one cmd.exe to set the charset to UTF-8
  • I also set the project's default charset through the IntelliJ settings to UTF-8 (See: This Guide)

The problem seems to be the javadoc_args file respectively the path to that file... The path is C:\Users\Somebody Müller\AppData\Local\Temp\javadoc_args. Also if I view the file from IntelliJ, all ü characters are replaced by an unknown symbol.

I know that I could generate the documentation through a maven plugin, but I would prefer to do it via the IntelliJ IDE...

Could somebody identify the problem in detail and/or provide a solution or maybe parts of it?

EDIT

skomisa described the situation/behaviour in easy words:

For me the javadoc_args file does not exist! I see it is named in the Javadoc window as an argument to javadoc.exe, and if I click the link its content is shown in a pop up window within Intellij IDEA, but if I check in File Explorer there is no such file. Is this the case for you as well? I have no idea how it gets generated. Also, I created a project in a folder named Müller and the ü was rendered as � within the popup window that showed the content of javadoc_args.

UPDATE 04/12/2018

As skomisa already commented, JetBrains plans to fix this bug in a future version, likely in version 2019.1 (Build 191.2458).

UPDATE 22/02/2019

I know this question is quite old but it seems to be still relevant. I didn't check up to now if JetBrains fixed the bug but a similar one occurred for me when I try to open an JavaFX fxml externally inside of the SceneBuilder. In another post about renaming a Windows 10 user directory I found a possible workaround at least for Windows users! Just create an additional user directory without ü in the path and link to the existing one:

C:
CD\Users
MKLINK /J Müller Mueller

If you now uses the link as directory for project paths it should work fine.

4

There are 4 best solutions below

5
On BEST ANSWER

I am unable to generate the Javadoc for a project in Intellij IDEA if the name of the path contains the character ü (u with umlaut). The workaround is to rename the project so that the project directory file path does not contain an umlaut.

To reproduce:

  • Use the project wizard to create a trivial Java Hello World project where the root directory name contains ü. I used Müller for testing purposes.

  • Ensure that the class for main() contains valid Javadoc documentation.

  • Build and run the project to verify that there are no unexpected issues.

  • Select Tools > Generate Javadoc, specify an empty Output Directory and click OK.

  • Javadoc creation fails with the error - cannot read Input length = 1 (shown below), and clicking the link to C:\Users\johndoe\AppData\Local\Temp\javadoc_args shows that the ü in the file path is (mis)represented as �, which presumably is the cause of the Javadoc error.

  • However, once the root directory is renamed from Müller to Muller (to remove the umlaut) the Javadoc creation works:

    javadocWorks

  • As a sanity check, rename the project from Muller back to Müller to reintroduce the error:

    javadocFails

Notes:

  • As noted in the comments, the javadoc_args file does not exist, and I see no way to prevent its use during the Javadoc creation process.
  • Having the project name as Müller is not an issue; it's having ü within the project's file path that causes the problem.
  • Environment: Windows 10 + Intellij IDEA 2018 3.1 EAP (Ultimate Edition) + Open JDK 10.
  • I raised a bug report with JetBrains for this: https://youtrack.jetbrains.com/issue/IDEA-202849

Update 11/25/18

There is a workaround for this issue without needing to rename the project's path:

  • Run Generate Javadoc and let it fail.
  • Click the link to the file .../javadoc_args shown in the Javadoc window.
  • Copy and paste the content of the file javadoc_args into a text editor.
  • Correct any characters that are misrepresented (e.g. change M�ller to Müller).
  • Save the file using UTF-8 encoding, and the same absolute filename.
  • Open a Command Prompt window.
  • Copy the entire javadoc.exe command from the Javadoc window in Intellij IDEA and paste it to the Command Prompt window.
  • Submit the line that was pasted. It will now work because the project's path is correctly specified in the file javadoc_args.
0
On

Today (21-aug-2021) I tried to generate a javadoc but it failed. The error message was:

javadoc: error - cannot read Input length = 1

In my case it referred to the length of the path to the file, which is shown below.

D:\Tecnologia(ytrabajo)ysistemas26sep2020\misiontic2022\U El Bosque\UEB académico\Ciclo 2\Programación Básica\NetBProjects\R5DTO_DAOMVC_GUI

So I shortened the path to the following:

D:\Tecnologia(ytrabajo)ysistemas26sep2020\misiontic2022\NBProjects(m)\R5DTO_DAOMVC_GUI

As one can see, this route is shorter than the first so NetBeans could access it and generate the javadoc.

Note: It is not possible that NetBeans could not read the location because of the following characters: é and á in the words académico and Básica that I used in the first file location. Because, in that location, I tried to generate a JavaDoc in another project located there and NetBeans generated the Doc. So the error is more about the length of the path and the names of the files in the project.

0
On

I was having the same problem but in NetBeans, finally I could figure out the problem configuring correctly the Javadoc. I had "@author authorName1" and "@author authorName2", and no version tad. Finally, after replacing it for just one and going to Run, Set project configuration and Customize, there I changed the javadoc properties and set:

  1. Uncheck @version tag
  2. Check @author tag
  3. Write a Browser Title without strange characters
0
On

I had the same error but in Apache Netbeans and the root of the problem was in the directory path. Have a look if your directory's path contains an accent(à,è,ì,ò or ù). In my case it was determinant to figure out the problem.