我知道关于这个问题有很多问题,但是没有人为我解决!我正在使用IntelliJ社区版,并且试图通过IDE运行JavaDoc。每次对哪个文件都没有关系,我运行JavaDoc会得到以下输出:
javadoc: error - cannot read Input length = 1
我已经弄清楚,这可能是编码问题……我正在研究 Windows 10 机器。我已经尝试过以下方法:
cmd.exe /K chcp 65001
(而不是默认的cmd.exe
)从IntelliJ启动终端以将字符集设置为UTF-8 问题似乎是javadoc_args
文件或该文件的路径...路径是C:\Users\Somebody Müller\AppData\Local\Temp\javadoc_args
。另外,如果我从IntelliJ查看文件,则所有ü字符都将被未知符号代替。
我知道我可以通过maven插件生成文档,但是我更愿意通过IntelliJ IDE来实现。
有人可以详细识别问题和/或提供解决方案,还是部分解决方案?
编辑
skomisa用简单的话描述了情况/行为:
对我来说 javadoc_args 文件不存在!我看到它在Javadoc窗口中被命名为 javadoc.exe 的参数,如果单击链接,它的内容将显示在Intellij IDEA的弹出窗口中,但是如果我签入File Explorer,没有这样的文件。您也是这种情况吗?我不知道它是如何产生的。此外,我在名为Müller的文件夹中创建了一个项目,并在显示 javadoc_args 内容的弹出窗口中将ü渲染为``。
更新2018年4月12日
正如skomisa所说,JetBrains计划在将来的版本中修复此错误,可能在版本 2019.1(内部版本191.2458)中。
更新22/02/2019
我知道这个问题已经很老了,但似乎仍然很重要。到目前为止,我还没有检查JetBrains是否修复了该错误,但是当我尝试在SceneBuilder中从外部打开JavaFX fxml时,发生了类似的错误。在关于重命名Windows 10用户目录的另一个post中,我发现了至少对于Windows用户而言可行的解决方法!只需在路径中创建没有ü
的其他用户目录并链接到现有目录即可:
C:
CD\Users
MKLINK /J Müller Mueller
如果您现在将链接用作项目路径的目录,它应该可以正常工作。
答案 0 :(得分:1)
如果路径名称包含字符ü(u带有umlaut),则无法在Intellij IDEA中为项目生成Javadoc。解决方法是重命名项目,以便项目目录文件路径不包含变音符号。
要复制:
使用项目向导创建一个简单的 Java Hello World 项目,其中根目录名称包含ü。我使用Müller进行测试。
确保main()
的类包含有效的Javadoc文档。
构建并运行项目以验证没有意外问题。
选择工具>生成Javadoc ,指定一个空的输出目录,然后单击确定。
Javadoc创建失败,并出现错误-无法读取输入长度= 1 (如下所示),然后单击指向 C:\ Users \ johndoe \ AppData \ Local \的链接Temp \ javadoc_args 显示文件路径中的ü被(mis)表示为``,这可能是Javadoc错误的原因。
但是,一旦将根目录从Müller重命名为 Muller (以删除变音符号),Javadoc的创建就会起作用:
作为健全性检查,将项目从 Muller 重命名为Müller以重新引入错误:
注意:
更新18/11/25
有一个解决此问题的方法,而无需重命名项目的路径: