https://developers.google.com/appengine/docs/Java/webtoolsplatform#dynamic_web_project の「サーバーでプロジェクトを実行する」ステップにいるので、問題が発生しました。
VMエージェントライブラリの初期化に失敗しました:機器がZipファイルを開くエラーまたはJARマニフェストが見つかりません:C:\ Programの初期化中にエラーが発生しました
別の人がここで同様の問題を報告しました: ZipファイルまたはJARマニフェストのオープンエラー:C:/ Program 。しかし、解決策は異なるテクノロジーセットに対するものでした。 Eclipse、Web Tools Platform、およびGoogle-App-Engineを使用しています。
ほとんどの場合、これはmy Javaがスペースを含むディレクトリであるC:\ Program Filesにインストールされているためです。しかし、これを修正する方法がわかりません。 Java\jre7ディレクトリをスペースのないディレクトリに移動します。
Google Cloud Platform SupportのJordan Fishがこの問題の解決に役立ちました。彼は言った:
Dev_appserverを起動しようとしたときのエラーメッセージに関する限り、これはおそらくプロジェクトの実行構成のvm引数によるものと考えられます。実行構成に移動して(プロジェクトを選択した状態で、[実行]メニューに移動し、[実行構成]を選択)、[引数]タブをクリックして、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
""
の後ろのjarファイルに-javaagent
を追加する必要があります。
IntelliJを使用する場合、ソリューションはわずかに異なるように見えます。 Eclipseユーザーと同じ方法で実行構成を編集する必要がありますが、代わりにこの形式を使用して「VMオプション」を追加します。
-javaagent:[/absolute/path/DMEnhancerJava-1.0.jar][classes=META-INF/]
各パラメーターのスペースなしで、コロンの後に角かっこで書式設定することに注意してください。それを見逃すと、JavaAgentがその入力形式を予期していることに関する実行時エラーメッセージが表示されます。
また、MavenやGradleなどのビルドツールを使用して、これを(MAVEN_OPTSなどの方法で)Java_ARGS変数に追加する場合は、全体を二重引用符で囲む必要があることに注意してください。
2番目のパラメーターは、DMEnhancerに何をインストルメントするかを指示するために必要なようです(私のコンパイルされたPOJOはMETA-INFディレクトリにあったため、クラスパスの最上位に相対的でした)。
最後に、VMの内部のクラスパスの2つの場所で実装されているクラスについてエラーが発生することがあります。
Class JavaLaunchHelper is implemented in both <Two full classspaths shown here> One of the two will be used. Which one is undefined.
これはJVMのバグが原因で発生するようで、1.8u152で修正されています(MacOS Xで)(執筆時点では、これは利用可能な早期アクセスリリースと見なされます here )。このJVMバグの詳細については、他の answer を参照してください。