如何从 IntelliJ 获取 maven 项目 运行 本地服务器

How to get maven project running local server from IntelliJ

理解Java发展的早期阶段。我在 IntelliJ 中创建了一个新的 Maven 项目(未使用原型)。

到目前为止,我已经添加了一个名为 src/main/webapp 的文件夹,并在其中放置了一个 index.jsp 文件,其中包含一些示例代码,可以将 "hello world" 打印到屏幕上。

然后我检查了一些示例 pom.xml 文件并尝试创建我自己的文件,它至少允许我在本地 运行 我的应用程序:

<?xml version="1.0" encoding="UTF-8"?>
<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>romac</groupId>
    <artifactId>connect-parent</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <jdk.version>1.8</jdk.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>romac-connect</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.4.11.v20180605</version>
                <configuration>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <stopKey>STOP</stopKey>
                    <stopPort>8005</stopPort>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>

然后我不确定如何使用 Jetty 或 Google Cloud Tools 运行 我的项目。我正在为 Google App Engine Standard 开发,所以哪个更适合用作本地服务器?我如何将它从 IntelliJ UI 获取到 运行?

由于您是针对 App Engine 标准进行开发,因此使用 Google Cloud Tools for IntelliJ 是正确的,它提供了特定于 App Engine 的本地开发服务器。请尝试以下操作:

首先确保您使用的是 运行 插件的最新版本:18.6.1(截至撰写本文时)。您可以在 Settings -> Plugins -> Google Cloud Tools.

下的插件管理器中验证这一点

在您的 src/main/webapp 目录中,创建一个 WEB-INF 文件夹(如果尚无)。在该文件夹中,创建一个名为 appengine-web.xml 的文件(App Engine 标准应用程序所需的配置文件)。使用以下启动项 xml:

填充该文件
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <threadsafe>true</threadsafe>
    <runtime>java8</runtime>
</appengine-web-app>

执行此操作后,插件应检测到您正在使用 App Engine 标准项目并弹出框架支持添加菜单 - 接受提示。如果您没有看到它,您可以转到 Tools -> Google Cloud Tools -> Add App Engine Support -> App Engine standard 和 select 您的模块。

在此之后,应该为您创建 local-运行 和部署 运行 配置,允许您在本地 运行 和调试您的应用程序,然后将其部署到 GCP 应用程序引擎。

请注意,即将发布的版本将修复自动生成 Maven 和 Gradle 项目的应用引擎配置文件(通过上述工具菜单)。这将允许您跳过手动步骤。现在你应该可以按照上面的描述手动完成。