12

DropwizardアプリをGoogleAppEngineにデプロイする方法を模索してきましたが、今のところ何も見つかりません。

この質問(そして答え)から判断すると、それは不可能かもしれないと思います。私はそれについて確信したいと思います、そしてそれがうまくいくなら、私はその方法を学びたいです。

warwizardと呼ばれるdropwizardフォークがあり、dropwizardコードからwarファイルを作成できるようですが、6か月以上触れられていないため、dropwizardドキュメントの使用が困難になる可能性があります。

4

3 に答える 3

11

Dropwizard は、Jersey+Jackson+Jetty をうまくまとめたものです。Jetty と App Engine はうまくいきません (つまり、App Engine は既に Jettyを実行しているため、アプリケーションが独自のものを提供することを望んでいません)。

おそらく、Dropwizard を使用せずに Jersey と Jackson を使用することをお勧めします: http://blog.iparissa.com/googles-app-engine-java/google-app-engine-jax-rs-jersey/ & http:/ /www.cowtowncoder.com/blog/archives/2009/11/entry_338.html

于 2013-03-01T01:42:53.923 に答える
7

ただし、Google Compute Engine で Dropwizard を実行することはできます。これは基本的に、Google が提供する単なる Linux VM であり、必要に応じて API にアクセスできます。

GCEで次のことを行うことで、Dropwizardインスタンスを機能させることができました。

Java をインストールする

sudo apt-get install java7-runtime-headless 

ファイアウォール ポートを開きます。

gcutil addfirewall rest --description="http" --allowed="tcp:8080
gcutil addfirewall admin --description="admin" --allowed="tcp:8081"

ファイルを GCE にコピー

gcutil --project={project-id} push {instance-name} {local-file} {remote-target-path}

アプリを実行する

java -jar your-app.jar server your-config.yml

編集: DW 0.6.2 のみをサポートするwiztowar https://github.com/twilio/wiztowarと呼ばれる別の代替手段もあります。

于 2014-01-15T04:44:42.017 に答える
0

私は過去 2 か月間、この問題を解決しようとしてきました。ここに私の発見があります:

1-はい、Dropwizard を WAR ファイルとしてデプロイできます。Wizard in a boxWizToWarなどのハックを使用する必要があります

2-いいえ!その WAR ファイルを AppEngine 標準環境にデプロイすることはできません。

なんで?主な問題は、AppEngine が servlet-api v2.5 (これは 10 年以上前のものです!) を使用しており、servlet-api v3 以降にアップグレードする予定がないことです。一方、Dropwizard には servlet-api v3 以降が必要です。

ちょっと待って!別のオプションがあります

App Engine フレキシブル環境に Dropwizard をデプロイできます

App Engine Flex はまだベータ版ですが、2017 年第 1 四半期に一般利用できるようになると聞いています。今すぐ使用したい場合は、有効化を依頼する必要があります。

App Engine Flex にどのようにデプロイしますか?

-> これを行うためのすべての手順は、次のブログ投稿に記載しています: App Engine Flex に Dropwizard をデプロイする

于 2017-01-12T19:46:45.213 に答える