Java 找不到目标';运行';在plugin com.google.appengine中:appengine maven plugin
我正在构建一个Maven应用程序,我想用Java在Google应用程序引擎上部署它 我在本地服务器Java 找不到目标';运行';在plugin com.google.appengine中:appengine maven plugin,java,eclipse,maven,google-app-engine,google-cloud-platform,Java,Eclipse,Maven,Google App Engine,Google Cloud Platform,我正在构建一个Maven应用程序,我想用Java在Google应用程序引擎上部署它 我在本地服务器localhost:8080 当我运行命令mvncleanpackage时,它会给我一个构建成功提示,如下所示 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] -------------------------------------
localhost:8080
当我运行命令mvncleanpackage
时,它会给我一个构建成功提示,如下所示
[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] ------------------------------------------------------------------------
但是,当我运行命令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
我在pom文件中添加了appengine骨架archtype中的插件
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.0.0</version>
</plugin>
但下面是我的java主代码,它引发异常:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws Exception {
response.setContentType("text/plain");
response.getWriter().println("Test");
run();
}
找不到目标
run
,因为插件没有这样的目标。我相信您正在寻找appengine:devserver
。请参阅中的“使用开发服务器测试应用程序”部分
关于你的第二个问题,如上面的编辑所示。答案很神秘,它指向了一个抛出异常的问题。重写的方法必须抛出相同的异常,这不仅是IOException
,而且是ServletException
当使用更复杂的库时,如
javax.servlet.*
,最好让IDE创建方法存根以避免这些类型的错误。尽管如此,我还是有点惊讶,它一开始没有发出警告或错误。根据Google App Engine文档,您可以使用两个插件处理App Engine 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>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.0.0</version>
</plugin>
如果要使用基于Gloud SDK
的插件,请使用以下插件
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>gcloud-maven-plugin</artifactId>
<version>1.9.48</version>
<configuration>
<set_default>true</set_default>
</configuration>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.0.0</version>
</plugin>
如果要同时使用这两个插件,可能需要使用以下命令:
- 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
(如本文所建议)
您还可以在本手册中找到更多信息
- 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