Createprocess error 206 имя файла или его расширение имеет слишком большую длину

Обновлено: 04.07.2024

Исключительная ситуация при выполнении командной строки . Невозможно запустить программу "C:\Program Files (x86)\Java\jre6\bin\javaw.exe" (в каталоге "C:\Users\motiver\helios_workspace\TimeTracker") : Ошибка CreateProcess = 206, слишком длинное имя файла или расширение

Я немного исследовал, но большинство проблем было связано с DataNucleus при работе на Google App Engine. Но я не использую ничего удаленно связанного с Google App Engine. Я делаю небольшой проект с Servlet 3.0 на JBOSS 6. Я использую Hibernate 4.1.2 для ORM и RESTEasy для предоставления веб-службы. Я создал файл утилит с методом main (), который в основном удаляет и заново создает схему. Я запускаю метод main (), когда мне нужна чистая база данных для тестирования. Он отлично работал на Tomcat 7, но перестал работать, когда я перешел на JBoss 6.

Любая подсказка или решение будет принята с благодарностью.

Нет простого (как в пару кликов или простой команды) решения этой проблемы.

  • Уменьшить путь к классам
  • Используйте каталоги вместо файлов JAR
  • Используйте упакованные файлы JAR, которые содержат все другие файлы JAR, используйте переменную classpath внутри файла манифеста, чтобы указать на другие файлы JAR
  • Используйте специальный загрузчик классов, который читает путь к классам из файла конфигурации
  • Попробуйте использовать один из прикрепленных патчей в отчете об ошибке
  • Используйте собственную обертку, например муравей
  • Перейти к IntelliJ (обновление: как указывает @nitind, это не вариант)

Update: после июля 2014 года есть лучший способ (благодаря @ ответу Брэда-Мейса ниже :

Если вы создали свой собственный файл сборки вместо использования Project -> Generate Javadocs , то вы можете добавить useexternalfile="yes" к задаче Javadoc, которая предназначена специально для решения этой проблемы.

Если вы создаете свой собственный файл сборки, а не используете Project -> Generate Javadocs , вы можете добавить useexternalfile="yes" к задаче javadoc , которая предназначена специально для решения этой проблемы.

Я столкнулся с этой проблемой сегодня, и я смог решить ее с помощью этот плагин Gradle

Если вы, как и я, понятия не имеете, что такое Gradle, но вам нужно запустить бэкэнд для выполнения вашей работы с внешним интерфейсом, вам нужно найти файл build.gradle, который вызывается для запуска вашего сервера BE. и добавьте это к вершине:

Отвечая на мой собственный вопрос, чтобы решение не скрывалось в комментариях. Я экспортировал проект как исполняемый файл из Eclipse и выполнил командную строку «Java -jar MyJar.jar», и он отлично работает

У меня та же ошибка при вызове Maven.

Основной причиной моей проблемы была classpath была очень большой. Обновление classpath устранило проблему.

В отчете об ошибке Ошибка 327193 он считается исправленным, но со мной это случилось недавно с Eclipse Kepler 4.3.2.

Пожалуйста, загрузите патч для Eclipse Juno или новее:

  1. После загрузки создайте резервную копию существующих Eclipse/plugins/org.Eclipse.jdt.launching_3. *. Jar
  2. Скопируйте и вставьте классы в патче в org.Eclipse.jdt.launching JAR (Замените существующие файлы).
  3. Перезапустите Eclipse.

Java -jar -Dserver.port = 8080 build/libs/APP_NAME_HERE.jar

Это не специально для Eclipse, но я обошел это путем создания символической ссылки на мой репозиторий maven и указания на что-то вроде «C:\R». Затем я добавил следующее в мой файл settings.xml:

Путь к репозиторию maven способствовал проблемам с длиной в моей машине с Windows.

это происходит из-за того, что DataNucleus иногда перезаписывают аргументы многими путями.

Исключение при выполнении командной строки. Не удается запустить программу «C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe» (в каталоге «C: \ Users \ motiver \ helios_workspace \ TimeTracker»): ошибка CreateProcess = 206, имя файла или расширение слишком долго

Я немного исследовал, но большинство проблем были связаны с DataNucleus при работе над Google App Engine. Но я не использую ничего отдаленно связанного с Google App Engine. Я делаю небольшой проект с Servlet 3.0 на JBOSS 6. Я использую Hibernate 4.1.2 для ORM и RESTEasy, чтобы открыть веб-службу. Я создал файл util, в котором есть метод main (), который в основном удаляет и воссоздает схему. Я запускаю методы main (), когда мне нужна чистая база данных для целей тестирования. Он отлично работал на Tomcat 7, но перестал работать, когда я перешел на JBoss 6.

Мы будем благодарны за любые подсказки или решения.

Я хочу понять, C:\Program Files (x86)\Java\jre6\bin\javaw.exe длинный или другой C:\Users\motiver\helios_workspace\TimeTracker . У меня такая же проблема. Потомство: у меня была похожая ситуация, но с простым корпоративным приложением, развернутым на WLS, и клиентом из Eclipse. Я заметил, что путь к классам был огромен, поскольку Eclipse по умолчанию включал всю библиотеку WLS (все jar-файлы). Я удалил его и добавил просто weblogic.jar (только обязательный). После этого все заработало. Итак, по моим наблюдениям, просто удалите ненужные банки.

Простого (в пару кликов или простой команды) решения этой проблемы не существует.

  • Уменьшите путь к классам
  • Используйте каталоги вместо файлов jar
  • Используйте упакованные файлы jar, содержащие все другие jar-файлы, используйте переменную classpath внутри файла манифеста, чтобы указать на другие jar-файлы
  • Используйте специальный загрузчик классов, который считывает путь к классам из файла конфигурации
  • Попробуйте использовать один из прикрепленных патчей в документе с отчетом об ошибке
  • Используйте собственную оболочку, например муравей

Обновление : после июля 2014 года есть способ лучше (благодаря ответу @ Brad-Mace ниже :

Если вы создали свой собственный файл сборки вместо использования Project -> Generate Javadocs , вы можете добавить useexternalfile="yes" в Javadoc задачу, которая разработана специально для решения этой проблемы.

Как у IntelliJ не возникнет этой проблемы, если это полностью из-за длины пути к классам, используемого при запуске JVM? Это может быть только проблема с затмением, я могу запустить приложение с помощью maven. В 2014 году этот ответ неверен, и ответ @Brad Mace правильный. «Уменьшить путь к классам» - хороший намек, но позвольте мне немного уточнить это: в моем случае я попытался создать проект maven, и -classpath аргумент был сгенерирован, чтобы содержать все зависимости. Так, что - то вроде этого вышло: C:\Users\myself\.m2\repository\…;C:\Users\myself\.m2\repository\…[…tons more] . Перемещение моего локального кеша репозитория maven в свое дело: путь к D:\m2 классам сократился до D:\m2\…;D:\m2\… - бинго! Не забудьте указать localRepository путь в конфигурации maven.

Если вы создаете свой собственный файл сборки, а не используете, Project -> Generate Javadocs вы можете добавить useexternalfile="yes" к javadoc задаче, которая разработана специально для решения этой проблемы.

Сегодня я столкнулся с этой проблемой, и я смог решить ее с помощью этого плагина Gradle

ЕСЛИ вы, как и я, понятия не имеете, что такое Gradle, но вам нужно запустить бэкэнд, чтобы выполнять свою работу с внешним интерфейсом, вам нужно найти файл build.gradle, который вызывается для запуска вашего сервера BE, и добавить его в вершина:

Теперь я получаю «Имя основного класса не настроено и не может быть разрешено», несмотря на то, что оно было установлено attributes["Main-Class"] Я пробовал использовать плагин, но безрезультатно. Проблема все еще не решена. Пожалуйста, предложите

Отвечая на свой вопрос здесь, чтобы решение не было утоплено в комментариях. Я экспортировал проект как запускаемый jar из eclipse и выполнил командную строку «java -jar MyJar.jar», и он отлично работает

Это не специально для eclipse, но я решил обойти это, создав символическую ссылку на мой репозиторий maven и указав ее на что-то вроде «C: \ R». Затем я добавил в свой файл settings.xml следующее:

Путь к репозиторию maven способствовал возникновению проблем с длиной на моей машине с Windows.

** введите описание изображения здесь **

В intellij есть опция «сократить командную строку», выбрать «JAR manifest» или «@argFiles» решит проблему, в основном это поместит ваш длинный путь к классу в файл jar или временный файл.

Вопрос старый, но актуальный. Я часто сталкиваюсь с этой ситуацией, когда к моей команде присоединяется новый участник или к существующему коду добавляется новый сегмент кода. Простой обходной путь, которому мы следуем, - это «уменьшить путь к классам» путем перемещения вверх по каталогам.

Как уже упоминалось, это не относится к затмению. Я также сталкивался с этой проблемой в IntelliJ Idea 14 и 2018.

После долгих исследований я нашел решение - установить

в javc файла сборки ant.

Вот так теперь выглядит мой Ant build javac. Чтобы узнать больше о fork, обратитесь к документации ant.

Это чертовски эффективный ответ, который я нахожу. Спасибо

В отчете об ошибке ошибка 327193 считается исправленной, но недавно это случилось со мной с Eclipse Kepler 4.3.2.

Загрузите патч для Eclipse Juno или новее:

  1. После загрузки создайте резервную копию существующего eclipse / plugins / org.eclipse.jdt.launching_3. *. Jar
  2. Скопируйте и вставьте классы из патча в org.eclipse.jdt.launching JAR (замените существующие файлы).
  3. Перезапустите Eclipse.
Это сработало для меня. Обратите внимание, что применение этого метода удалило мои установки JDK Java из установленных JRE. Пришлось снова добавить их. Осталась только 1 установка JRE.

java -jar -Dserver.port = 8080 build / libs / APP_NAME_HERE.jar

Чтобы решить эту проблему:

Если вы используете Eclipse:

Переместить репозиторий .m2 в

c: \ Перейдите в Eclipse> Windows / Preferences / Maven / User Settings -> Создайте свой собственный файл settings.xml с его содержимым:

Если вы используете IntelliJ: перейдите в IntelliJ> щелкните правой кнопкой мыши на «pom.xml»> maven> создайте «settings.xml»

с его содержанием:

У меня такая же ошибка при вызове Maven.

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

Есть несколько способов обновить большой путь к классам, как упоминалось в этом: Как установить длинный путь к классам Java в Windows?

  1. Используйте подстановочные знаки
  2. Файл аргумента
  3. Путь jar

Поскольку я использую Intellij, они предоставляют возможность использовать файл аргументов, который я использовал.

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

Попробуйте добавить это в файл build.gradle ( gradle version 4.10.x ) и убедитесь, что com.xxx.MainClass это класс, в котором находится ваш основной метод:

Вышеупомянутое изменение должно решить проблему, есть другой способ использования run.sh приведенного ниже сценария, который может решить эту проблему, но это будет скорее исправление командной строки, а не запуск в IntelliJ gradle bootRun .

это происходит из-за того, что DataNucleus иногда перезаписывает аргументы с множеством путей.

Вы должны перезаписать их следующим образом:

-enhancerName ASM -api JDO -pu MediaToGo

Надеюсь помочь вам!

Правильный ответ из этой ветки был правильным ответом для моего особого случая. Укажите путь к папке ORM для datanucleus, безусловно, уменьшите компиляцию пути java.

Я получил ошибку ниже, когда запустил " ant deploy "

Исправлено, запустив перед ним команду ant clean .

Что делать, если я использую Android Studio? Я также получаю ту же самую проблему

У меня такая же ошибка в студии Android. Мне удалось решить эту проблему, запустив Build -> Clean Project в IDE.

Это из-за вашего длинного имени каталога проекта, которое в CLASSPATH целом дает вам очень длинный . Либо вам нужно уменьшить количество добавленных jar-файлов CLASSPATH (убедитесь, что удаляются только ненужные jar-файлы), либо лучше всего уменьшить каталог проекта и снова импортировать проект. Это уменьшит CLASSPATH . У меня это сработало.

У меня была такая же проблема, но вместо этого я использовал netbeans.
Я нашел решение, поэтому делюсь здесь, потому что я нигде этого не нашел, поэтому, если у вас есть эта проблема с netbeans, попробуйте следующее:
(имена могут быть отключены, так как мои netbeans на португальском языке) Щелкните правой кнопкой мыши проект> свойства > сборка> компиляция> снимите флажок запускать компиляцию на внешней виртуальной машине.

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

Я только что создал новую папку с коротким именем и скопировал все файлы (папку приложения, файлы gradle и т. Д.) В новую папку. Открыл приложение в студии Android и работает нормально.

Пользовательская версия java - 1.8

В моем случае ошибка проявлялась из-за того, что системная версия java отличалась от версии intellijj / eclipse java. Система и пользователь имели разные версии java. Если вы скомпилируете свой код с использованием одной версии и попытаетесь запустить с использованием другой версии, произойдет ошибка.

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

Ошибка CreateProcess = 206, имя файла или расширение слишком длинное.

исключение произошло при выполнении командной строки. Не удается запустить программу "C:Program файлы (x86)Javajre6binjavaw.exe " (в каталоге "C:Usersmotiverhelios_workspaceTimeTracker"): CreateProcess error=206, имя файла или расширение слишком длинное

Я немного исследовал, но большинство проблем были связаны с DataNucleus при работе над Google App Engine. Но я не использую ничего, отдаленно связанного с Google App Engine. Я делаю небольшой проект с сервлетом 3.0 на JBOSS 6. Я использую Hibernate 4.1.2 для ORM и RESTEasy для предоставления веб-службы. Я создал файл util, который имеет метод main (), который в основном удаляет и повторно создает схему. Я запускаю main () methos, когда мне нужна чистая база данных для целей тестирования. Он отлично работал на Tomcat 7, но он перестал работать, когда я переехал в JBoss 6.

любой намек или решение были бы весьма признательны.

нет простого (как в пару кликов или простой команды) решения этой проблемы.

  • уменьшить путь к классу
  • используйте каталоги вместо файлов jar
  • используйте упакованные файлы jar, которые содержат все другие банки, используйте переменную classpath внутри файла манифеста для укажите на другие банки
  • используйте специальный загрузчик классов, который считывает путь к классам из файла конфигурации
  • попробуйте использовать один из прикрепленных патчей в документе отчета об ошибке
  • используйте собственную оболочку, например ant
  • перейти к IntelliJ (обновление: как указывает @nitind, это не вариант)

обновление: после июля 2014 года есть лучший способ (благодаря @Brad-ответ Мейса ниже:

Если вы создали свой собственный файл сборки вместо использования Project -> Generate Javadocs , то вы можете добавить useexternalfile="yes" к задаче Javadoc, которая предназначена специально для решения этой проблемы.

Если вы создаете свой собственный файл build, а не с помощью Project -> Generate Javadocs вы можете добавить useexternalfile="yes" до javadoc задач, которая предназначена специально для решения этой проблемы.

отвечая на мой собственный вопрос здесь, чтобы решение не было похоронено в комментариях. Я экспортировал проект как runnable jar из eclipse и сделал командную строку "java-jar MyJar.jar " и работает отлично

пожалуйста, скачайте патч для Eclipse Juno или новее:

  1. после загрузки резервное копирование существующих eclipse / Плагины / org.затмение.JDT, предназначенным.launching_3.*.Джар
  2. копировать и вставлять классы в патч в организацию.затмение.JDT, предназначенным.пусковой Яс (заменять существующий файл.)
  3. Перезапустить Eclipse.

У меня такая же ошибка при вызове Maven.

основной причиной моей проблемы была classpath был очень огромный. Обновление пути к классам исправило проблему.

Я сегодня столкнулся с этой проблемой и смог решить ее с помощью этот плагин Gradle

Если вы, как и я, понятия не имеете, что такое Gradle, но вам нужно запустить бэкэнд, чтобы выполнить свою переднюю работу, вам нужно найти построить.Gradle в файл, который вызывается для запуска вашего сервера BE и добавьте это в начало:

java-jar-Dserver.port=8080 build/libs / APP_NAME_HERE.Джар

это происходит из-за того, что DataNucleus иногда перезаписывает Аргументы многими путями.

вы должны перезаписать их следующим образом:

-enhancerName ASM-api JDO-pu MediaToGo

надеюсь помочь вам!

правильный ответ из этой темы был правильным ответом для моего особого случая. Укажите путь к папке ORM для datanucleus, безусловно, уменьшите компиляцию пути java.

Я получил ошибку ниже, когда я запускаю'развернуть АНТ'

исправлено с помощью run'очистить муравей', прежде чем он.

Я получил ту же ошибку в Android studio. Я смог решить это, запустив Build ->Очистить Проект в IDE.

Это из-за вашего длинного имени каталога проекта, которое дает вам очень длинный CLASSPATH в целом. Либо вам нужно уменьшить банки, добавленные в CLASSPATH (убедитесь, что удаление ненужных баночек) или лучший способ уменьшить папку проекта и импортировать проект снова. Это уменьшит CLASSPATH . У меня получилось.

У меня была такая же проблема,но вместо этого я использовал netbeans.
Я нашел решение, поэтому я делюсь здесь, потому что я нигде не нашел этого, поэтому, если у вас есть эта проблема на netbeans, попробуйте следующее:
(имена могут быть отключены, так как мои netbeans на португальском языке) Щелкните правой кнопкой мыши проект > свойства > сборка > компиляция > снимите флажок запустить компиляцию на внешней виртуальной машине.

Исключение произошло при выполнении командной строки. Не удается запустить программу "C:\Program Files (x86)\Java\jre6\bin\javaw.exe" (в каталоге "C:\Users\motiver\helios_workspace\TimeTracker" ): Ошибка CreateProcess = 206, имя файла или расширение слишком долго

Я немного изучил, но большинство проблем были связаны с DataNucleus при работе с Google App Engine. Но я не использую ничего удаленного с Google App Engine. Я делаю небольшой проект с Servlet 3.0 на JBOSS 6. Я использую Hibernate 4.1.2 для ORM и RESTEasy, чтобы открыть веб-службу. Я создал файл утилиты, который имеет метод main(), который в основном отбрасывает и воссоздает схему. Я запускаю main() methos, когда мне нужна чистая база данных для тестирования. Он отлично работал на Tomcat 7, но он перестал работать, когда перешел на JBoss 6.

Было бы полезно получить любую подсказку или решение.

ОТВЕТЫ

Ответ 1

Нет простого (как в пару кликов или простой команды) решения этой проблемы.

  • Уменьшить путь к классам
  • Используйте каталоги вместо файлов JAR
  • Используйте упакованные файлы JAR, которые содержат все другие файлы JAR, используйте переменную classpath внутри файла манифеста, чтобы указать на другие файлы JAR
  • Используйте специальный загрузчик классов, который читает путь к классам из файла конфигурации
  • Попробуйте использовать один из прикрепленных патчей в документе об ошибке
  • Используйте собственную обертку, например, муравей
  • Перейти к IntelliJ (обновление: как указывает @nitind, это не вариант)

Обновление: после июля 2014 года есть лучший способ (благодаря ответу @Brad-Mace ниже:

Если вы создали свой собственный файл сборки вместо использования Project → Generate Javadocs , то вы можете добавить useexternalfile="yes" к задаче Javadoc, которая разработана специально для решения этой проблемы.

Ответ 2

Если вы создаете свой собственный файл сборки, а не используете Project -> Generate Javadocs , вы можете добавить useexternalfile="yes" в задачу javadoc , которая разработана специально для решения этой проблемы.

Ответ 3

Я столкнулся с этой проблемой сегодня, и я смог решить ее с помощью этого плагина Gradle

Если вы, как и я, понятия не имеете, что такое Gradle, но вам нужно запустить бэкэнд для выполнения вашей работы с внешним интерфейсом, вам нужно найти файл build.gradle, который вызывается для запуска вашего сервера BE, и добавить его в вершина:

Ответ 4

Отвечая на мой собственный вопрос, чтобы решение не зарывалось в комментариях. Я экспортировал проект в качестве исполняемого банку из eclipse и выполнил командную строку "java -jar MyJar.jar", и он отлично работает

Ответ 5

Ответ 6

У меня такая же ошибка, при вызове Maven.

Основной причиной моей проблемы был classpath был очень большой. Обновление пути к классам устранено.

Ответ 7

В отчете об ошибке Ошибка 327193 считается фиксированным, но это происходит со мной недавно с Eclipse Kepler 4.3.2.

Загрузите патч для Eclipse Juno или новее:

  • После загрузки резервной копии существующих Затмение/плагины/org.eclipse.jdt.launching_3. *. баночка
  • Скопировать и вставить классы в патч в org.eclipse.jdt.launching JAR (заменить существующие файлы).
  • Перезапустить Eclipse.

Ответ 8

Это не специально для затмения, но я обошел это путем создания символической ссылки на мой репозиторий maven и указания на что-то вроде "C:\R". Затем я добавил следующее в мой файл settings.xml:

Путь к репозиторию maven способствовал проблемам с длиной в моей машине с Windows.

Ответ 9

java -jar -Dserver.port = 8080 build/libs/APP_NAME_HERE.jar

Ответ 10

это происходит из-за того, что DataNucleus иногда перезаписывает Аргументы со многими путями.

Вам необходимо перезаписать их следующим образом:

-enhancerName ASM -api JDO -pu MediaToGo

Надеюсь помочь вам!

Ответ 11

Действительный ответ из этого потока был правильным ответом для моего особого случая. Укажите путь к папке ORM для datanucleus, безусловно, уменьшите компиляцию пути Java.

Ответ 12

Я получил ошибку ниже, когда я запускаю ant deploy

Исправлено его, выполнив ' ant clean'.

Ответ 13

Ответ 14

Это из-за вашего длинного имени каталога проекта, которое дает вам очень длинный CLASSPATH целом. Либо вам нужно уменьшить количество jar файлов, добавленных в CLASSPATH (убедитесь, что вы удалили только ненужные jar файлы), либо лучше всего уменьшить каталог проекта и снова импортировать проект. Это уменьшит CLASSPATH . Это сработало для меня.

Ответ 15

У меня была такая же проблема, но вместо этого я использовал netbeans.
Я нашел решение, поэтому я делюсь здесь, потому что я нигде не нашел этого, поэтому, если у вас есть эта проблема на NetBeans, попробуйте это:
(имена могут быть отключены, так как мои NetBeans на португальском языке) Щелкните правой кнопкой мыши проект> свойства> сборка> компиляция> Снимите флажок запускать компиляцию на внешней виртуальной машине.

Ответ 16

Я получил ту же ошибку. Пробные решения, такие как очистка, восстановление, invalidateCache, retart и т.д., Но ничего не работает.

Я только что создал новую папку с коротким именем и скопировал все файлы (папку приложения, файлы Gradle и т.д.) В новую папку. Открыл приложение в андроид студии и работает нормально.

Ответ 17

Вопрос старый, но все еще актуален. Я часто сталкиваюсь с такой ситуацией, когда к моей команде присоединяется новый участник или в существующий код добавляется новый сегмент кода. Простой обходной путь, которому мы следуем, - это "Уменьшить путь к классам", перемещаясь вверх по каталогам.

Как уже упоминалось, это не относится к затмению. Я сталкивался с этой проблемой также в IntelliJ Idea 14 и 2018.

После долгих исследований я нашел решение установить

в javc файла сборки муравья.

Вот так теперь выглядит мой сборщик муравьев javac. Чтобы узнать больше о форке, обратитесь к документации по муравьям.

Ответ 18

Чтобы решить это:

Если вы используете Eclipse:

Переместить репозиторий .m2 в

c:\Перейдите в Eclipse> Windows/Предпочтения /Maven/Настройки пользователя → Создайте свой файл setting.xml с его содержимым:

Если вы используете IntelliJ: перейдите в IntelliJ> щелкнув правой кнопкой мыши на "pom.xml"> maven> create "settings.xml"

с его содержанием:

Ответ 19

User java version is 1.8

В моем случае ошибка показывалась, потому что системная Java-версия отличалась от Intellijj/Eclipse Java-версии. Система и пользователь имели разные версии Java. Если вы скомпилируете свой код с использованием одной версии и попытаетесь запустить с использованием другой версии, произойдет ошибка.

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

Читайте также: