IntelliJ JavaDoc - ошибка - невозможно прочитать Длина ввода = 1 - PullRequest
0 голосов
/ 11 ноября 2018

Я знаю, что есть много вопросов по этой проблеме, но никто из них не решил ее для меня! Я использую версию IntelliJ для сообщества и попытался запустить JavaDoc через IDE. Каждый раз, и неважно, какой файл я запускаю JavaDoc, я получаю следующий вывод:

javadoc: error - cannot read Input length = 1

Я уже понял, что это может быть проблема с кодировкой ... Я работаю на Windows 10 машине. Я уже пробовал следующее:

Кажется, проблема в файле javadoc_args, соответственно, путь к этому файлу ... Путь C:\Users\Somebody Müller\AppData\Local\Temp\javadoc_args. Также, если я просматриваю файл из IntelliJ, все символы ü заменяются неизвестным символом.

Я знаю, что могу сгенерировать документацию с помощью плагина maven, но я бы предпочел сделать это с помощью IntelliJ IDE ...

Может ли кто-нибудь детально определить проблему и / или предложить решение или, возможно, ее части?

EDIT

скомиса описал ситуацию / поведение простыми словами:

Для меня javadoc_args файл не существует! Я вижу, что он назван в окне Javadoc в качестве аргумента для javadoc.exe , и если я нажму на ссылку, его содержимое отобразится во всплывающем окне в Intellij IDEA, но если я проверю в проводнике там нет такого файла. Это касается и тебя? Я понятия не имею, как это генерируется. Кроме того, я создал проект в папке с именем Müller и ü был отображен как во всплывающем окне, в котором отображалось содержимое javadoc_args .

ОБНОВЛЕНИЕ 04/12/2018

Как уже сказал Скомиса, JetBrains планирует исправить эту ошибку в следующей версии, вероятно, в версии 2019.1 (сборка 191.2458) .

ОБНОВЛЕНИЕ 22/02/2019

Я знаю, что этот вопрос довольно старый, но он все еще актуален. Я до сих пор не проверял, исправила ли JetBrains эту ошибку, но аналогичная ошибка возникла у меня, когда я пытался открыть JavaFX fxml снаружи SceneBuilder. В другом посте о переименовании пользовательского каталога Windows 10 я нашел возможный обходной путь, по крайней мере, для пользователей Windows! Просто создайте дополнительный каталог пользователя без ü в пути и укажите ссылку на существующий:

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

Если вы теперь используете ссылку в качестве каталога для путей проекта, она должна работать нормально.

1 Ответ

0 голосов
/ 24 ноября 2018

Я не могу сгенерировать Javadoc для проекта в Intellij IDEA, если имя пути содержит символ ü (u с umlaut). Обходной путь - переименовать проект, чтобы путь к файлу каталога проекта не содержал умлаут.

Воспроизвести:

  • Используйте мастер проектов для создания тривиального Java Hello World проекта, в котором имя корневого каталога содержит ü . Я использовал Мюллер для тестирования.

  • Убедитесь, что класс для main() содержит действительную документацию Javadoc.

  • Создайте и запустите проект, чтобы убедиться в отсутствии непредвиденных проблем.

  • Выберите Инструменты> Создать Javadoc , укажите пустой Выходной каталог и нажмите OK .

  • Создание Javadoc завершается неудачно с ошибкой - невозможно прочитать Длина ввода = 1 (показано ниже) и щелкнуть ссылку на C: \ Users \ johndoe \ AppData \ Local \ Temp \ javadoc_args показывает, что ü в пути к файлу (неправильно) представлен как , что, вероятно, является причиной ошибки Javadoc.

  • Однако после того, как корневой каталог переименован из Müller в Muller (для удаления умлаута), создание Javadoc работает:

    javadocWorks

  • В качестве проверки работоспособности переименуйте проект с Мюллер обратно на Мюллер , чтобы снова выдать ошибку:

    javadocFails

Примечания:

  • Как отмечено в комментариях, файл javadoc_args не существует, и я не вижу способа предотвратить его использование во время процесса создания Javadoc.
  • Наличие имени проекта Müller не является проблемой; он имеет ü в пути к файлу проекта, который вызывает проблему.
  • Среда: Windows 10 + IntelliJ IDEA 2018 3.1 EAP (Ultimate Edition) + Open JDK 10.
  • Я поднял отчет об ошибке с JetBrains для этого: https://youtrack.jetbrains.com/issue/IDEA-202849

Обновление 11/25/18

Для решения этой проблемы есть обходной путь без необходимости переименовывать путь проекта:

  • Выполнить Сгенерировать Javadoc и дать ему сбоить.
  • Щелкните ссылку на файл ... / javadoc_args , показанный в окне Javadoc .
  • Скопируйте и вставьте содержимое файла javadoc_args в текстовый редактор.
  • Исправьте любые символы, которые искажены (например, измените Мюллер на Мюллер ).
  • Сохраните файл с использованием кодировки UTF-8 и того же абсолютного имени файла.
  • Открытие окна Командная строка .
  • Скопируйте всю команду javadoc.exe из окна Javadoc в Intellij IDEA и вставьте ее в окно Командная строка .
  • Отправьте вставленную строку. Теперь он будет работать, потому что путь проекта правильно указан в файле javadoc_args .
...