【问题标题】:How do I create a new Google App Engine project in IntelliJ 12 which works?如何在 IntelliJ 12 中创建一个新的 Google App Engine 项目?
【发布时间】:2014-03-25 02:33:24
【问题描述】:

首先我会说我之前没有 GAE 经验 - 我正在尝试让 GAE 在 IntelliJ 12 中工作,但遇到问题,想知道是否有人可以看看我在做什么并告诉我是否这里有什么奇怪的地方。

步骤:

  1. 在 IntelliJ 中使用 JDK 1.7.0_51 创建 Java 项目。点击下一步。

  2. 在所需技术页面上选择 Web Application > Google App Engine 带有appengine-java-sdk-1.8.9 的路径。点击完成。

  3. 将文件从appengine-java-sdk-1.8.9/demos/new_project_template/ 复制到项目 目录

我现在有一个主目录结构,如:

. ├── 复制 ├── build.xml ├── html │   └── index.html ├── 源 │   ├── META-INF │   │   └── jdoconfig.xml │   ├── WEB-INF │   │   ├── appengine-web.xml │   │   └── web.xml │   ├── log4j.properties │   ├── logging.properties │   └── 组织 │   └── 例子 │   └── HelloAppEngineServlet.java ├── test.iml └── 网络 ├── WEB-INF │   ├── appengine-web.xml │   └── web.xml └── index.jsp

运行这将运行 web 目录中带有 index.jsp 的 web 服务器。

关于这个的几个问题——应该有一个“web”和一个“html”目录吗?为什么有两个 WEB-INF 目录,它们应该相同吗?我应该在每次更新时手动编辑它们吗?

如果我按照https://developers.google.com/appengine/docs/java/gettingstarted/creating 的说明进行操作,它会提到一个“战争”文件夹——我承认我对“战争”、“网络”和“html”文件夹感到困惑——我想我也在某个地方看到引用了一个“www”文件夹。这些文件夹名称真的重要吗?

按照教程,我在“src”文件夹中创建了一个留言簿文件夹并制作了 java 文件。当我在 web.xml (两者)中输入信息时,我收到了一行错误

<servlet-name>guestbook</servlet-name>

“身份约束'web-app-servlet-name-uniqueness'匹配元素'web-app'的字段,但该元素没有简单类型”

最重要的是 - guestbook.GuestbookServlet 无法解析。

必须有一种更简单的方法在 Intellij 中运行它 - 任何人都可以帮助我吗?

【问题讨论】:

    标签: google-app-engine intellij-idea


    【解决方案1】:

    不幸的是,IntelliJ 并没有让这个过程变得简单。似乎他们希望您使用 Maven 来处理很多此类问题。但这让尝试在 IntelliJ 上开始使用 GAE 的人变得更加困难。

    您的项目现在一团糟。您已将 IntelliJ 为您的 Web 模块添加的内容与演示项目中的一些文件相结合。因此,首先,删除您的文件并从 IntelliJ 中删除您的 Web 模块。

    现在回到您要使用的演示文件夹,它应该包含 COPYING、build.xml 以及 src 和 war 目录。将所有这些复制到您的项目中。然后进入项目结构->模块并导入模块。这将允许 IntelliJ 检测您的 Web 模块并避免创建重复的文件和目录。

    您还需要在 Settings->IDE Settings->Application Servers 下配置您的 Application Server。添加 Google App Engine 开发服务器并指定您的 SDK 目录。

    然后回到你的项目结构->模块->依赖并添加一个库。选择您刚刚定义的应用程序服务器库。如果您的项目使用 GAE 的更高级功能,则需要转到 Project Structure->Artifacts 并将库添加到您的工件中。

    同样对于 Artifact 上的设置,您需要创建一个指向您的战争目录的“爆炸战争”定义。

    可能需要更多配置...但我现在想不出来。让我知道您接下来会遇到什么问题,我可以尝试提供帮助。

    【讨论】:

      【解决方案2】:

      IntelliJ IDEA 14 Ultimate 集成了 GAE 支持。这有多全面,我还不完全确定。我会尽快更新此答案并提供更多详细信息。

      https://www.jetbrains.com/idea/features/google_app_engine.html

      【讨论】:

        猜你喜欢
        • 2013-01-29
        • 2017-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-21
        • 2015-01-28
        • 2016-06-07
        相关资源
        最近更新 更多