【问题标题】:Cannot convert Maven project to App Engine standard project无法将 Maven 项目转换为 App Engine 标准项目
【发布时间】:2019-03-26 04:14:26
【问题描述】:

我想将 Maven 项目转换为 App Engine 项目以进行部署。但它给了我以下错误,如下面的屏幕截图所示:-

以下是我的项目属性的截图:-

除此之外,当我在本地主机上运行我的项目时,我收到以下错误:-

HTTP ERROR 503 访问 / 时出现问题。原因:

Service Unavailable

所以,下面是我的 pom.xml 的代码,我猜这个文件中缺少一些东西:-

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>LiveInBliss</groupId>
  <artifactId>LiveInBliss</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <build>
  <!-- [START resources] -->
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    <!-- [END resources] -->

    <plugins>


   <plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.4.0.M0</version>
</plugin> 



    <plugin>
   <groupId>com.google.appengine</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>1.9.67</version>
    </plugin>




      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.1</version>
      </plugin>
    </plugins>
  </build>
  <dependencies>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <type>jar</type>
    <scope>provided</scope>
  </dependency>
  <!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4</version>
</dependency>

  <dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud</artifactId>
  <version>0.8.0</version>
</dependency>
<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-storage</artifactId>
  <version>1.34.0</version>
</dependency>
<dependency>                        <!-- http://dev.mysql.com/doc/connector-j/en/ -->
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>6.0.5</version>
</dependency>
<dependency>
  <groupId>com.google.cloud.sql</groupId>
  <artifactId>mysql-socket-factory-connector-j-6</artifactId>
  <version>1.0.10</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
<!--
    INSTANCE_CONNECTION_NAME from Cloud Console > SQL > Instance Details > Properties
    or `gcloud sql instances describe <instance> | grep connectionName`
-->
    <INSTANCE_CONNECTION_NAME>live-in-bliss:northamerica-northeast1:liveinbliss-99</INSTANCE_CONNECTION_NAME>
    <user>root</user>
    <password>my_password</password>
    <database>my_db_name</database>
    <sqlURL>jdbc:mysql://google/$db_name?cloudSqlInstance=$live-in-bliss:northamerica-northeast1:liveinbliss-99&amp;socketFactory=com.google.cloud.sql.mysql.SocketFactory&amp;user=$root&amp;password=$my_password&amp;useSSL=false</sqlURL>
  </properties>

</project>

【问题讨论】:

    标签: java eclipse maven google-app-engine pom.xml


    【解决方案1】:

    我不熟悉 App Engine 标准项目,但您的屏幕截图看起来像是配置了 Dynamic Web Module 2.3。根据No compatible AppEngine Standard facet found 报告的问题,使用 App Engine 需要动态 Web 模块 2.5。

    根据相同的来源,您可能还需要检查 org.eclipse.wst.common.project.facet.core.xml 文件中的“jst.web”设置,并确保它与您选择的值一致。

    【讨论】:

    • 我将动态 Web 模块更改为 2.5,但它显示“无法将项目方面动态 Web 模块的版本更改为 2.5”。而且,我找不到 org.eclipse.wst.common.project.facet.core.xml 文件。谢谢
    • 该文件位于您的项目中.settings/org.eclipse.wst.common.project.facet.core.xml 下。您还可以使用 Open Resource (Ctrl-Shift-R) 并搜索 org.eclipse.wst.common.project.facet.core.xml。您能告诉我们更多关于您使用的是哪个版本的 Eclipse 吗?我不确定您的项目是如何绑定到 Dynamic Web Facet 2.3 版的,因为您的 POM 引用了javax.servlet-api 3.1。
    猜你喜欢
    • 1970-01-01
    • 2013-11-06
    • 2012-07-24
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 2015-11-26
    • 2017-03-25
    • 2017-10-19
    相关资源
    最近更新 更多