Не удалось запустить приложение (CreateProcess error = 87), не может использовать сокращенный путь к пути
Когда я запускаю наше приложение в Eclipse в Windows, я получаю следующую ошибку:
Исключено выполнение командной строки.
Не удается запустить программу..: Ошибка CreateProcess = 87, Неверный параметр
Я решил это в прошлом, сократив CLASSPATH.
Теперь я подошел к точке, где я больше не могу сокращать CLASSPATH и хотел бы знать, есть ли какие-либо другие способы обхода.
http://support.microsoft.com/kb/830473, кажется, указывает, что длина строки командной строки max в окнах xp составляет 8191 символ, и единственным решением является сокращение папки имена, уменьшить глубину деревьев папок, используя файлы параметров и т.д.
Ответы
Ответ 1
Эта страница часто задаваемых вопросов по eclipsecoding подтверждает вашу диагностику:
Когда CLASSPATH
становится слишком длинным, программа не может быть запущена (по крайней мере, под Windows) - попробуйте сократить свой путь к классам. В случае с плагином вы можете попытаться удалить ненужные необходимые плагины.
И у вас вот нить, описывающая ошибки журнала.
Поскольку вы можете запускать Eclipse, но не приложение, я бы проверял, нет ли у вас слишком большого количества плагинов, включенных в вашу конфигурацию запуска. Не могли бы вы проверить, есть ли только необходимые плагины?
Ответ 2
В качестве обходного пути:
- Откройте конфигурацию запуска eclipse для задачи, которая не работает.
- Выберите вкладку classpath, выберите путь по умолчанию по умолчанию, нажмите кнопку "Изменить.."
- Установите флажок "Включить только экспортированные записи".
Это позволило мне обойти эту проблему на Eclipse 3.6 (Helios)
Ответ 3
Это определенно проблема с слишком длинной траекторией, заставляя командную строку превышать ее максимальный предел. разрешить, сократить ваш путь к классам. Если вы используете Maven (как и я, например, в Jive), измените местоположение вашего .m2, изменив параметр maven settings.xml
<settings>
<localRepository>c:/.m2/repository</localRepository>
</settings>
а затем переместите свой репозиторий из каталога пользователя, но убедитесь, что settings.xml и settings-security.xml(если применимо) все еще находятся в каталоге пользователя. Таким образом, путь класса больше не будет отображаться c:\Documents and Settings\username.m2 снова и снова, а скорее c:.m2, что позволяет значительно уменьшить путь к классам и, следовательно, длину команды. Помните, что в окнах вы не можете создать каталог (самостоятельно) с именем .m2, и поэтому вам нужно вырезать каталог, вставить в c: а затем скопировать его обратно в свою папку пользователя
Ответ 4
Я имел дело с той же проблемой в Eclipse, поэтому по этой причине я решил попробовать тот же проект в Intellij, просто чтобы узнать, была ли это проблема IDE.
Удивительно, Intellij обнаруживает эту проблему (long classpath) и показывает мне диалог, рекомендуя мне использовать динамическую функцию classpath. После включения этой опции проблема исчезла.
Что делает флаг dynamic.classpath:
Что делает флаг dynamic.classpath? (Настройки проекта IntelliJ)
Итак, теперь мой вопрос: есть ли способ сделать то же самое на Eclipse? представляется простым и изящным решением этих проблем, вместо того, чтобы вручную удалять все эти зависимости, которые не нужны.
Ответ 5
Используйте динамическую ссылку, которую можно легко создать с помощью juncion (http://technet.microsoft.com/en-us/sysinternals/bb896768). Создайте ссылку для своего проекта и добавьте ее в eclipse.
использование, например:
md d:\shortname
соединение d:\shortname\d:\my\very\long\long\long\long\long\long\projectnamefolder
Ответ 6
Это известная ошибка в Eclipse: Ошибка 327193 - [patch] Запуск командной строки превышает ограничение на создание процесса в Windows
Он будет исправлен с выпуском Eclipse e4 4.3, выпущенным в 2013 году. Это не было признано достаточно важным, чтобы зафиксировать в 3.4.2. Но в приложениях к ошибке вы можете найти пару заменяющих классов, чтобы исправить вашу версию Eclipse.
Ответ 7
Поскольку у меня была та же проблема с Eclipse Helios (единственная версия, официально поддерживаемая нашим отделом), и мне было очень трудно решить эту проблему, вот решение:
Установите последний Eclipse (в моем случае 4.3.2 выполнила работу).
Эта проблема была сообщена как ошибка Eclipse: https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193, и теперь она исправлена.
Надеемся, что это поможет будущим пользователям, которые достигнут этой страницы.
Ответ 8
Я столкнулся с той же проблемой. Пытаться запустить страницу с записками не получится, что бы я ни пытался. Я проверил содержимое моего .plugins directcotry в рабочей области. Я заметил множество индексных файлов в каталоге org.eclipse.jdt.core. Я переименовал этот каталог, и теперь процесс записки можно запустить снова.
Ответ 9
Одно из решений, которое у меня есть для Eclipse, заключается в закрытии некоторых проектов, которые разрешены с помощью разрешения Workspace, и вместо этого они будут разрешены из вашего локального репозитория Maven. Он работал у меня в любом случае
Ответ 10
Я столкнулся с той же проблемой, рецензируя проект jar файлов.
Предположим, что инструменты-1.6.jar построены и добавлены как зависимость. Позже может быть изменен исходный код для инструментов-1.6.jar и не выполнен #mvn clean install.
Я сделал чистую сборку и обновленную зависимость maven, ошибка была решена.