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.
любой намек или решение были бы весьма признательны.
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
- после загрузки резервное копирование существующих eclipse / plugins / org.затмение.JDT, предназначенным.launching_3.*.банку
- копирование и вставка классов в патч в организацию.затмение.JDT, предназначенным.запуск банку (заменять существующий файл.)
- Перезапустить Eclipse.
Я получил ту же ошибку, при вызове Maven.
основной причиной моей проблемы была
classpathбыл очень огромный. Обновление пути к классам устранило проблему.
Я сегодня столкнулся с этой проблемой и смог решить ее с помощью этот плагин Gradle
Если вы, как и я, понятия не имеете, что такое Gradle, но вам нужно запустить бэкэнд, чтобы выполнить свою переднюю работу, вам нужно найти построить.gradle файл, который вызывается для запуска вашего сервера BE и добавьте это в начало:
plugins { id "ua.eshepelyuk.ManifestClasspath" version "1.0.0" }
это происходит из-за DataNucleus иногда перезаписывают аргументы со многими путями.
вы должны перезаписать их следующим образом:
- enhancerName ASM-api JDO-pu MediaToGo
надеюсь помочь вам!
правильный ответ из этой темы был правильным ответом для моего особого случая. Укажите путь к папке ORM для datanucleus, конечно, уменьшите компиляцию пути java.
Я получил сообщение об ошибке ниже, когда я запускаю'развернуть АНТ'
Cannot run program "C:\java\jdk1.8.0_45\bin\java.exe": CreateProcess error=206, The filename or extension is too longисправлено с помощью run'очистить муравей', прежде чем он.
Это из-за вашего длинного имени каталога проекта, который дает вам очень длинный
CLASSPATHв целом. Либо вам нужно уменьшить банки, добавленные вCLASSPATH(убедитесь, что удаление ненужных банок только) или лучший способ, чтобы уменьшить каталог проекта и импортировать проект снова. Это позволит уменьшитьCLASSPATH. Это сработало для меня.
У меня была та же проблема,но вместо этого я использовал netbeans.
Я нашел решение, поэтому я делюсь здесь, потому что я нигде не нашел этого,поэтому,если у вас есть эта проблема в netbeans, попробуйте это:
(имена могут быть отключены, так как мой netbeans находится на португальском языке) Щелкните правой кнопкой мыши проект > свойства > сборка > компиляция > снимите флажок запустить компиляцию на внешней виртуальной машине.
Comments