Javadoc error cannot read input length 1

IntelliJ JavaDoc — ошибка — не может прочитать Входная длина = 1 Я знаю, что есть много вопросов по этой проблеме, но никто из них не решил это для меня! Я использую Community Edition IntelliJ, и я попытался запустить JavaDoc через среду IDE. Каждый раз, и неважно, какой файл я запускаю JavaDoc, я получил […]

Содержание

  1. IntelliJ JavaDoc — ошибка — не может прочитать Входная длина = 1
  2. maven-javadoc-plugin error javadoc: ошибка — невозможно прочитать Длина ввода = 1 с не-ASCII символами в имени каталога
  3. 1 ответ
  4. Maven-javadoc-plugin error javadoc: error — не удается прочитать Длина ввода = 1 с символами, отличными от ASCII, в имени каталога
  5. IntelliJ JavaDoc — ошибка — не удается прочитать длина ввода = 1
  6. maven-javadoc-plugin error javadoc: ошибка — невозможно прочитать Длина ввода = 1 с не-ASCII символами в имени каталога
  7. 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



Эксперт Java

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



Эксперт Java

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



Понравилась статья? Поделить с друзьями:
  • Javac no source files error
  • Java сообщение об ошибке
  • Java ошибка при запуске приложения
  • Java ошибка illegal start of expression
  • Java ошибка 500