Подтвердить что ты не робот

Ошибка при открытии файла zip или манифеста JAR: C:\Program

Я нахожусь на шаге "Запуск проекта на сервере" от https://developers.google.com/appengine/docs/java/webtoolsplatform#dynamic_web_project, и я столкнулся с проблемой:

Ошибка при инициализации виртуальной машины библиотека агента не удалось запустить: инструмент Ошибка при открытии zip файла или манифеста JAR: C:\Program

Другой человек сообщил об аналогичной проблеме здесь: Ошибка при открытии файла zip или манифеста JAR: C:/Program. Но решение было для другого набора технологий. Я использую Eclipse, платформу веб-инструментов и Google-App-Engine.

Скорее всего, это потому, что моя Java установлена ​​в C:\Program Files, каталог, который содержит пробел. Но я не уверен, как это исправить. Я не уверен, как безопасно перемещать каталог Java\jre7 в каталог без пробела.

4b9b3361

Ответ 1

Иорданская рыба из поддержки Google Cloud Platform помогла мне решить эту проблему. Он сказал:

Что касается сообщения об ошибке при попытке запустить dev_appserver, я считаю, что это, вероятно, связано с аргументом vm в конфигурации запуска для вашего проекта. Можете ли вы перейти к конфигурации запуска (с выбранным проектом, перейдите в меню "Выполнить" и выберите "Запустить конфигурации" ), перейдите на вкладку "Аргументы" и посмотрите, что указано в текстовом поле "Параметры виртуальной машины"?

Вот мои оригинальные аргументы VM:

-javaagent:C:\Program Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.9.4\appengine-java-sdk-1.9.4\lib\agent\appengine-agent.jar -Xmx512m -Dappengine.fullscan.seconds=5 -Ddatastore.default_high_rep_job_policy_unapplied_job_pct=50

Вот что я изменил его (добавленные двойные кавычки вокруг каталога, который передавался как -javaagent: param):

-javaagent:"C:\Program Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.9.4\appengine-java-sdk-1.9.4\lib\agent\appengine-agent.jar" -Xmx512m -Dappengine.fullscan.seconds=5 -Ddatastore.default_high_rep_job_policy_unapplied_job_pct=50

Это устранило мою проблему, я смог выполнить шаг "Запуск проекта на сервере" от https://developers.google.com/appengine/docs/java/webtoolsplatform#dynamic_web_project

Ответ 2

Вам просто нужно добавить "" к вашему файлу -javaagent за -javaagent:

Ответ 3

Если вы используете IntelliJ, решение выглядит несколько иначе. Вам нужно отредактировать конфигурацию запуска так же, как и пользователи Eclipse, но вместо этого добавьте "Параметры VM", используя этот формат:

-javaagent:[/absolute/path/DMEnhancerJava-1.0.jar][classes=META-INF/]

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

Также помните, что если вы используете инструмент построения, например Maven или Gradle, и добавьте это в свою переменную JAVA_ARGS (через что-то вроде MAVEN_OPTS), вам нужно обернуть все это в двойные кавычки.

Второй параметр, по-видимому, необходим, чтобы сообщить DMEnhancer, что для инструмента (мой был относительно верхнего уровня моего пути к классам, потому что мои скомпилированные POJO были в каталоге META-INF).

Наконец, вы можете заметить, что иногда возникает ошибка, говорящая о классе, реализованном в двух местах в пути к внутреннему виду виртуальной машины:

Class JavaLaunchHelper is implemented in both <Two full classspaths shown here> One of the two will be used. Which one is undefined.

Это происходит из-за ошибки в JVM и фиксируется (на MacOS X) в 1.8u152 (на момент написания, это считается выпуском раннего доступа здесь). Дополнительную информацию об этой ошибке JVM см. В этом другом .

Ответ 4

Экспортируйте jar с файлом манифеста в eclipse следующим образом:

enter image description here ИЛИ

Объединить файл манифеста с созданным флягой. CMD: jar ufm/Users/inzamam/Desktop/inzaa.jar META-INF/MANIFEST.MF

Ответ 5

Запустите свой cmd в качестве администратора. Когда вы пытаетесь запустить свой сервер, и вы не запускаете его в качестве администратора, вы получаете эту ошибку.