0

JavaのGoogle App EngineにデプロイするMavenアプリをビルドします。プラグインのcom.google.appengineで目標 'run'を見つけることができませんでした:appengine-maven-plugin

私は、コマンドmvn clean packageを実行すると、私が実行したとき、それは

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 8.284 s 
[INFO] Finished at: 2017-01-06T12:32:58-05:00 
[INFO] Final Memory: 29M/400M 
[INFO] ------------------------------------------------------------------------ 

を次のように私のビルド成功プロンプトを与える。しかし、ローカルサーバにlocalhost:8080

をテストしようとする際にポイントになりましたコマンドmvn appengine:runそれは私にこのエラーメッセージを表示します。

[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.259 s 
[INFO] Finished at: 2017-01-06T12:33:03-05:00 
[INFO] Final Memory: 8M/150M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Could not find goal 'run' in plugin com.google.appengine:appengine-maven-plugin:1.9.48 among available goals backends_configure, backends_delete, backends_rollback, backends_start, backends_stop, backends_update, create-property, debug, devserver, devserver_start, devserver_stop, endpoints_get_client_lib, endpoints_get_discovery_doc, endpoints_get_swagger_doc, enhance, migrate_traffic, rollback, set_default_version, start_module_version, stop_module_version, update, update_cron, update_dispatch, update_dos, update_indexes, update_queues, vacuum_indexes -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoNotFoundException 

私はAppEngineのスケルトンarchtypeの私からプラグインを追加しましたnは私のPOMファイル

<plugin> 
    <groupId>com.google.cloud.tools</groupId> 
    <artifactId>appengine-maven-plugin</artifactId> 
    <version>1.0.0</version> 
</plugin> 

は、私はまた、クラウドMavenのドキュメント

<plugin> 
    <groupId>com.google.appengine</groupId> 
    <artifactId>gcloud-maven-plugin</artifactId> 
    <version>1.9.48</version> 
    <configuration> 
     <set_default>true</set_default> 
    </configuration> 
</plugin> 

に1のバージョンを変更し、私はまだ、上記のエラーを取得します。

私が推測していることは、プラグインが不足していることです。今すぐ怒鳴る与えられた修正で、私はこのエラーを取得する私は、ローカルに私のアプリを実行する方法を知っていただきたいと思いますし、何がmvn appengine:run work

EDIT

を作るために欠けている:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project java-adwords: Compilation failure 
[ERROR] /home/seraf/java-adwords-maven/java-adwords/src/main/java/myApp/adwords_axis/MainApp.java:[11,19] doGet(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) in adwords_axis.MainApp cannot override doGet(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) in javax.servlet.http.HttpServlet 
[ERROR] overridden method does not throw java.lang.Exception 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

が、ここです私のJavaのメインコード、例外をスローする例外:

 public void doGet(HttpServletRequest request, HttpServletResponse response)                    
      throws Exception {              

      response.setContentType("text/plain");         
      response.getWriter().println("Test");         
      run();                 

     } 

答えて

1

ゴールrunにすることはできませんプラグインにそのような目標がないために見つかりました。私はあなたがappengine:devserverを探していると信じています。 セクションのアプリケーションをUsing Apache Maven and the App Engine Pluginにテストしてください。

上記の編集で示された2番目の質問を参考にしてください。不明瞭な答えは、スローされた例外に関する問題を指しています。オーバーライドされたメソッドは、同じ例外をスローする必要があります。これはIOExceptionだけでなく、ServletExceptionです。

javax.servlet.*のようなもっと複雑なライブラリで作業する場合は、これらのタイプのエラーを回避するためにIDEにメソッドスタブを作成させるのが最善です。しかし、私はそれが最初に警告またはエラーを吠えていないことに幾分驚いています。

6

GoogleのApp Engineのドキュメントによると、次の2つのプラグインを使用してApp EngineでのMavenのコマンドを処理することができます:

をあなたがベースのものを使用したい場合appcfg、次のプラグインを使用してください。

<plugin> 
    <groupId>com.google.appengine</groupId> 
    <artifactId>gcloud-maven-plugin</artifactId> 
    <version>1.9.48</version> 
    <configuration> 
     <set_default>true</set_default> 
    </configuration> 
</plugin> 

ローカルサーバーおよびデプロイするためのコマンドを使用すると、Gloud SDKに基づくものを使用したい場合は、ローカルサーバーに対して、次のプラグイン

<plugin> 
    <groupId>com.google.cloud.tools</groupId> 
    <artifactId>appengine-maven-plugin</artifactId> 
    <version>1.0.0</version> 
</plugin> 

にコマンドを使用し

- mvn appengine:devserver 
- mvn appengine:update 

になりますそして、デプロイのためにあなたがプラグインの両方を使用する場合は、代わりに以下のコマンドを使用したい場合があり

- mvn appengine:run 
- mvn appengine:deploy 

次のようになります。

- mvn com.google.appengine:appengine-maven-plugin:devserver 
- mvn com.google.appengine:appengine-maven-plugin:update 
- mvn com.google.cloud.tools:appengine-maven-plugin:run 
- mvn com.google.cloud.tools:appengine-maven-plugin:deploy 

(このthreadで提案されているように)

ます。また、このthread

でより多くの情報を見つけることができます
関連する問題