Содержание
- IntelliJ JavaDoc — ошибка — не может прочитать Входная длина = 1
- maven-javadoc-plugin error javadoc: ошибка — невозможно прочитать Длина ввода = 1 с не-ASCII символами в имени каталога
- 1 ответ
- Maven-javadoc-plugin error javadoc: error — не удается прочитать Длина ввода = 1 с символами, отличными от ASCII, в имени каталога
- IntelliJ JavaDoc — ошибка — не удается прочитать длина ввода = 1
- maven-javadoc-plugin error javadoc: ошибка — невозможно прочитать Длина ввода = 1 с не-ASCII символами в имени каталога
- 2 ответа
IntelliJ JavaDoc — ошибка — не может прочитать Входная длина = 1
Я знаю, что есть много вопросов по этой проблеме, но никто из них не решил это для меня! Я использую Community Edition IntelliJ, и я попытался запустить JavaDoc через среду IDE. Каждый раз, и неважно, какой файл я запускаю JavaDoc, я получил следующий результат:
Я уже понял, что это может быть проблема с кодировкой. Я работаю над манекью Windows 10. Я уже пробовал следующее:
- Ошибка кодирования argfile JavaDoc Запустите терминал от IntelliJ с помощью cmd.exe/K chcp 65001 вместо стандартного cmd.exe чтобы установить кодировку в UTF-8 Я также установил кодировку по умолчанию проекта через настройки IntelliJ в UTF-8 (см. Это руководство)
Проблема заключается в javadoc_args файл javadoc_args соответственно, путь к этому файлу. Путь — это C:UsersSomebody MüllerAppDataLocalTempjavadoc_args . Также, если я просматриваю файл из IntelliJ, все символы ü заменяются неизвестным символом.
Я знаю, что я могу создать документацию через плагин maven, но я бы предпочел сделать это через IntelliJ IDE.
Может ли кто-нибудь определить проблему в деталях и/или предоставить решение или, возможно, его части?
РЕДАКТИРОВАТЬ
skomisa описал ситуацию/поведение легкими словами:
Для меня файл javadoc_args не существует! Я вижу, что он назван в окне Javadoc в качестве аргумента для javadoc.exe, и если я нажму ссылку, его содержимое будет отображаться во всплывающем окне внутри Intellij IDEA, но если я проверю File Explorer, такого файла не будет. Это так и для вас? Я понятия не имею, как это происходит. Кроме того, я создал проект в папке с именем Müller, а ü отобразился как во всплывающем окне, в котором показано содержимое javadoc_args.
ОБНОВЛЕНИЕ 04/12/2018
Как уже сообщал Skomisa, JetBrains планирует исправить эту ошибку в будущей версии, скорее всего, в версии 2019.1 (Build 191.2458).
Я не могу сгенерировать Javadoc для проекта в Intellij IDEA, если имя пути содержит символ ü (u с umlaut). Обходной путь — переименовать проект, чтобы путь к файлу каталога проекта не содержал умлаут.
Используйте мастер проектов для создания тривиального проекта Java Hello World, в котором имя корневого каталога содержит ü. Я использовал Müller для тестирования.
Убедитесь, что класс для main() содержит допустимую документацию Javadoc.
Создайте и запустите проект, чтобы убедиться в отсутствии непредвиденных проблем.
Выберите » Инструменты»> «Создать Javadoc», укажите пустой выходной каталог и нажмите » ОК».
Создание Javadoc завершается неудачно с ошибкой — не удается прочитать Длина ввода = 1 (показано ниже), и если щелкнуть ссылку на C:UsersjohndoeAppDataLocalTempjavadoc_args, показано, что ü в пути к файлу (неправильно) представлено как , что, вероятно, является причиной ошибки Javadoc.
Однако, как только корневой каталог переименовывается из Мюллера в Мюллер (чтобы удалить умляут), создание Javadoc работает:
В качестве проверки работоспособности переименуйте проект из Мюллера обратно в Мюллер, чтобы снова ввести ошибку:
- Как отмечено в комментариях, файл javadoc_args не существует, и я не вижу способа предотвратить его использование во время процесса создания Javadoc. Иметь имя проекта в качестве Мюллера не проблема; это то, ü в пути к файлу проекта, который вызывает проблему. Среда: Windows 10 + Intellij IDEA 2018 3.1 EAP (Ultimate Edition) + Open JDK 10. Я поднял отчет об ошибке с JetBrains для этого: https://youtrack.jetbrains.com/issue/IDEA-202849
Обновление 25.11.18
Существует обходной путь для этой проблемы без необходимости переименования пути проекта:
Источник
maven-javadoc-plugin error javadoc: ошибка — невозможно прочитать Длина ввода = 1 с не-ASCII символами в имени каталога
Я использую OpenJDK 11 в Windows 10. У меня очень простой POM для одного файла Java, который генерирует Javadocs. Вот выдержка:
Странно просто запустить mvn clean package вызывает ошибку:
В target/apidocs есть только три файла: javadoc.bat , options и packages . Файл options наиболее интересен. В нем явно говорится, что UTF-8 везде, как и должно быть. Но посмотрите на эти строки:
Этот проект находится в C:projectslição 1 . Похоже, что где-то по цепочке Java или Maven или плагин Javadoc неправильно преобразовали имя каталога в UTF-8.
Конечно; когда я переименовал каталоги в Windows для удаления символов, отличных от ASCII, mvn clean package работал просто отлично.
Это казалось бы вопиющей ошибкой; как только Maven начинает, все должно быть UTF-8 повсюду. Это проблема с плагином Javadoc? У кого-нибудь есть идея, откуда это происходит? Где я должен подавать билет с ошибкой? Или я делаю что-то неправильно?
1 ответ
Как вы говорите, это похоже на кодировку, используемую для записи файлов в target/apidocs .
Просматривая источник для maven-javadoc-plugin, он просто использует кодировку платформы при записи этих файлов — например, эту строку.
Непосредственно установка кодировки при вызове Maven восстановила приведенный выше пример для меня:
Это скорее похоже на обходное решение, чем хорошее исправление, но нужно предположить, что в конструкции Maven нет ничего другого в зависимости от платформы.
Источник
Maven-javadoc-plugin error javadoc: error — не удается прочитать Длина ввода = 1 с символами, отличными от ASCII, в имени каталога
Я использую OpenJDK 11 в Windows 10. У меня есть очень простой POM для одного файла Java, который генерирует Javadocs. Вот отрывок:
Как ни странно, просто запуск mvn clean package вызывает ошибку:
В target/apidocs всего три файла: javadoc.bat , options и packages . Файл options — самый интересный. Там явно написано UTF-8 везде, как и должно быть. Но посмотрите на эти строки:
Этот проект находится в C:projectslição 1 . Похоже, что где-то в цепочке Java, Maven или плагин Javadoc неправильно преобразовали имя каталога в UTF-8.
Конечно же; когда я переименовал каталоги в Windows, чтобы удалить символы, отличные от ASCII, mvn clean package работал нормально.
Это может показаться вопиющей ошибкой; после запуска Maven все должно быть в кодировке UTF-8. Это проблема с плагином Javadoc? У кого-нибудь есть идея, откуда это происходит? Куда я должен подавать сообщение об ошибке? Или я что-то не так делаю?
Сначала вы определили исходную кодировку . вопрос в том, какая кодировка предоставляется JVM, которая используется Maven? issues.apache.org/jira/projects/MJAVADOC?
Вы пробовали добавить
Можете ли вы дать мне какую-нибудь ссылку на то, что это должно делать, или это предположение о том, чего вы еще не пробовали?
Обратите внимание, что maven.apache.org/plugins/maven-javadoc-plugin/jar-mojo.html ясно, что для encoding по умолчанию используется project.build.sourceEncoding . Но мы говорим об интерпретации имен каталогов. Я считаю это ошибкой.
Михаил, docencoding (это конфигурация, в которой используется упомянутый вами project.reporting.outputEncoding ) указывает кодировку вывод. Как это может иметь какое-либо отношение к кодировке имен каталогов, которые плагин помещает в файл options ? Вы действительно воспроизвели это на своей машине? Вы действительно видели этот файл options , о котором я говорю? Вы понимаете в чем проблема?
Как вы говорите, это похоже на кодировку, используемую для записи файлов на target/apidocs .
Просматривая источник maven-javadoc-plugin, он просто использует кодировку платформы при записи этих файлов — например, эта линия.
Непосредственная установка кодировки при вызове Maven исправила для меня приведенный выше пример:
Это больше похоже на обходной путь, чем на хорошее исправление — нужно предполагать, что больше ничего не зависит от кодировки платформы в сборке Maven.
Я думаю, что причина заключается в изменении основного JDK между 8 и 9. Бит кода (фактически под javac), который анализирует файлы аргументов (например, @options в командной строке javadoc), переключился с использования кодировки платформы здесь на вызов Files.newBufferedReader() здесь. Files.newBufferedReader (путь) указывает, что он использует UTF-8, если кодировка не указана. Это означает, что файлы аргументов, как в javac, так и в javadoc, теперь должны быть закодированы в UTF-8.
Мне кажется, это действительно ошибка. Есть идеи, где мы можем сообщать об ошибках для Maven Javadoc Plugin?
Подробную информацию об их системе отслеживания проблем можно найти в Jira здесь. Ничего очевидного там уже не видно.
Источник
IntelliJ JavaDoc — ошибка — не удается прочитать длина ввода = 1
Я знаю, что есть много вопросов по этой проблеме, но ни один из них не решил ее за меня! Я использую Community Edition для IntelliJ, и я попытался запустить JavaDoc через IDE. Каждый раз, независимо от того, какой файл, я запускаю JavaDoc и получаю следующий результат:
Я уже понял, что это может быть проблема с кодировкой . Я работаю над машиной Windows 10. Я уже пробовал следующее:
- Ошибка кодировки файла argfile JavaDoc
- Запустите терминал из IntelliJ с cmd.exe /K chcp 65001 вместо cmd.exe по умолчанию, чтобы установить кодировку UTF-8.
- Я также установил кодировку проекта по умолчанию в настройках IntelliJ на UTF-8 (см .: Это руководство)
Проблема, похоже, связана с файлом javadoc_args или путем к этому файлу . Путь — C:UsersSomebody MüllerAppDataLocalTempjavadoc_args . Также, если я просматриваю файл из IntelliJ, все символы ü заменяются неизвестным символом.
Я знаю, что могу сгенерировать документацию через плагин maven, но я бы предпочел сделать это через IntelliJ IDE .
Может ли кто-нибудь подробно определить проблему и / или предложить решение или, возможно, его части?
РЕДАКТИРОВАТЬ
скомиса описал ситуацию / поведение простыми словами:
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.
ОБНОВЛЕНИЕ 12.04.2018
Как уже прокомментировал скомиса, JetBrains планирует исправить эту ошибку в будущей версии, вероятно, в версии 2019.1 (сборка 191.2458).
ОБНОВЛЕНИЕ 22/02/2019
Я знаю, что это довольно старый вопрос, но, похоже, он все еще актуален. Я до сих пор не проверял, исправила ли JetBrains ошибку, но похожая ошибка возникла у меня, когда я пытался открыть JavaFX fxml извне внутри SceneBuilder. В другом Почта о переименовании пользовательского каталога Windows 10 я нашел возможное обходное решение, по крайней мере, для пользователей Windows! Просто создайте дополнительный каталог пользователя без ü в пути и ссылку на существующий:
Если теперь вы используете ссылку в качестве каталога для путей к проекту, все должно работать нормально.
[1] Какую версию JDK вы используете? [2] Пробовали ли вы вместо этого запустить команду javadoc.exe, которая выполняется в окне Javadoc из окна Командная строка? То есть вне Intellij IDEA. [3] Я могу воспроизвести проблему с плохим содержанием Javadoc. Для меня ü отображается как ü в документации HTML. Это то, что вы получаете? [4] Я не могу воспроизвести ошибку «Длина ввода = 1». [5] Если я использую OpenJDK 10, то Инструменты> Создать JavaDoc . не работает с «javadoc» завершен с кодом выхода -1073741790 (0xC0000022) [6] Я использую ULTIMATE 2018.3 в Windows 10.
@skomisa Конечно, я пробовал это вне IntelliJ . Он работает из командной строки, а также генерируется через плагин maven. Хранится ли файл javadoc_args в каталоге Temp , созданном IntelliJ или javadoc? Потому что я предполагаю, что проблема в кодировке этого файла . Кстати, я использую AdoptOpenJDK 11
OK. Для меня файла javadoc_args не существует! Я вижу, что он назван в окне Javadoc в качестве аргумента для javadoc.exe, и если я щелкну ссылку, его содержимое отображается во всплывающем окне в Intellij IDEA, но если я проверю в проводнике файлов, такого файла нет. Это относится и к вам? Понятия не имею, как это происходит. Кроме того, я создал проект в папке с именем Мюллер, и ü был визуализирован как � во всплывающем окне, которое показывало содержимое javadoc_args. Позже я протестирую AdoptOpenJDK 11.
@skomisa Да, именно так, как ведет себя моя IDE . Думаю, файл временный и удаляется после использования. Хорошо, заранее спасибо!
Я получил электронное письмо от JetBrains о том, что ошибка, которую я поднял для этой проблемы, была исправлена в сборке 191.2458, поэтому следующий выпуск Intellij IDEA (предположительно 2019.1) должен решить вашу проблему с «не могу прочитать ввод . «.
@skomisa Большое спасибо за ваши усилия
Я получил еще одно электронное письмо от JetBrains, в котором говорилось, что проблема также исправлена в сборке 183.4909. Я использую последнюю версию 2018.3, а номер сборки — 183.4588.61, поэтому исправления еще нет. Предположительно, он будет включен в обновление 2018.3 в ближайшие несколько недель.
Источник
maven-javadoc-plugin error javadoc: ошибка — невозможно прочитать Длина ввода = 1 с не-ASCII символами в имени каталога
Я использую OpenJDK 11 в Windows 10. У меня очень простое POM для одного файла Java, который генерирует Javadocs. Вот выдержка:
Странно только бег mvn clean package вызывает ошибку:
В target/apidocs Есть только три файла: javadoc.bat , options , а также packages , options файл самый интересный. Прямо говорится UTF-8 везде, как и должно быть. Но посмотрите на эти строки:
Этот проект находится в C:projectslição 1 , Похоже, что где-то в цепочке Java, Maven или плагина Javadoc не удалось правильно преобразовать имя каталога в UTF-8.
Конечно достаточно; когда я переименовал каталоги в Windows, чтобы удалить не-ASCII символы, mvn clean package работал просто отлично.
Это может показаться вопиющей ошибкой; как только Maven запускается, все должно быть UTF-8 повсюду. Это проблема с плагином Javadoc? У кого-нибудь есть идея, откуда это происходит? Где я должен подать заявку на ошибку? Или я что-то не так делаю?
2 ответа
Как вы говорите, это выглядит как кодировка, используемая для записи файлов в target/apidocs ,
Просматривая исходный код для maven-javadoc-plugin, он просто использует кодировку платформы при записи этих файлов — например, эту строку.
Непосредственно установив кодировку при вызове Maven, я починил приведенный выше пример:
Это скорее похоже на обходной путь, чем на хорошее исправление — нужно предположить, что в зависимости от кодировки платформы в сборке Maven больше ничего нет.
Источник
Issue
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:
<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>
Strangely just running mvn clean package
causes an error:
[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:binjdk-11binjavadoc.exe @options @packages
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:
-sourcepath
C:/projects/li��o 1/src/main/java
This project is in C:projectsliçã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. Is it a problem with the Javadoc plugin? Anyone have an idea where this originates? Where should I file a bug ticket? Or am I doing something wrong?
Solution
As you say, this looks like the encoding used to write the files to target/apidocs
.
Looking through the source for the maven-javadoc-plugin, it is just using the platform encoding when writing these files — e.g. this line.
Directly setting the encoding while calling Maven repaired the example above for me:
mvn clean package -Dfile.encoding=UTF-8
This feels more like a workaround than a good fix though — it needs to assume there is nothing else depending on the platform encoding in the Maven build.
I think the cause is a change in the main JDK between 8 and 9. The bit of code (actually under javac) that parses the argument files (e.g. @options
in the javadoc command line) has switched from using the platform encoding here to calling Files.newBufferedReader()
here. Files.newBufferedReader(Path) states that it uses UTF-8 if the encoding is not specified. This means argument files, in both javac and javadoc, must now be encoded in UTF-8.
Answered By — df778899
Answer Checked By — Senaida (JavaFixing Volunteer)
0 / 0 / 0 Регистрация: 13.12.2016 Сообщений: 35 |
|
1 |
|
02.11.2017, 22:34. Показов 5023. Ответов 4
При попытке сгенерировать документацию в idea выдает ошибку javadoc: error — cannot read Input length = 1. Не знаю что делать…
__________________
0 |
3636 / 2968 / 918 Регистрация: 05.07.2013 Сообщений: 14,220 |
|
02.11.2017, 22:47 |
2 |
кодировку в utf-8 выстави
0 |
0 / 0 / 0 Регистрация: 13.12.2016 Сообщений: 35 |
|
02.11.2017, 22:56 [ТС] |
3 |
Поставил — не помогло
0 |
3636 / 2968 / 918 Регистрация: 05.07.2013 Сообщений: 14,220 |
|
02.11.2017, 23:10 |
4 |
Файлы в utf8?
0 |
0 / 0 / 0 Регистрация: 13.12.2016 Сообщений: 35 |
|
02.11.2017, 23:28 [ТС] |
5 |
Да. В настройках везде, где только можно выставил Utf-8 Добавлено через 9 минут
0 |