CreateProcess error=206, имя файла или расширение слишком длинное при запуске метода main



У меня есть эта ошибка в eclipse helios:



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



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



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

999   14  

14 ответов:

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

цитирование из некоторых ответов в этот отчет об ошибке в Eclipse.org, это обходные пути. Выберите тот, который является наименее болезненным для вас:

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

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

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

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

попробуйте обновить версию Eclipse, проблема была закрыта недавно (2013-03-12). Проверьте отчет об ошибкеhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=327193

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

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

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

https://bugs.eclipse.org/bugs/attachment.cgi?id=216593

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

Я получил ту же ошибку, при вызове Maven.

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

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

Это на GitHub URL-адрес-это

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

plugins {
  id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
}

попробуйте это:

java-jar-Dserver.port=8080 build/libs/APP_NAME_HERE.банку

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

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

- enhancerName ASM-api JDO-pu MediaToGo

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

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

https://stackoverflow.com/a/1219427/1469481

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

Cannot run program "C:\java\jdk1.8.0_45\bin\java.exe": CreateProcess error=206, The filename or extension is too long

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

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

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

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

Comments

    Ничего не найдено.