【问题标题】:Questions about developing GAE apps on Eclipse with Clojure关于使用 Clojure 在 Eclipse 上开发 GAE 应用程序的问题
【发布时间】:2011-07-21 02:12:18
【问题描述】:

在逆时针处理我的 Eclipse 设置后 和以交互模式运行的 GAE 开发服务器我发现了这些 事情对我来说还不清楚:

1) 我如何在没有命令的情况下启动服务器和应用程序 REPL?

2) 当我将应用程序部署到 Google 服务器时,我应该如何以及在哪里 定义应用程序的入口点?我的意思是,谷歌将如何知道 要使用哪些应用程序、应用程序处理程序和路由?

3) 我可以在同一个项目中结合使用 java 类和 clojure 文件吗 以便在创建和编辑它们时自动编译它们 我的 src 文件夹?

4) 上传到 GAE 实际需要哪些文件和 jar 结束?我曾经将 PHP 应用程序部署到 GAE,但在这里我不知道是否应该制作 jar,包括编译的 clj 文件。我也可能想以不同于逆时针或 appengine-magic 的方式组织文件,那么我在哪里指定资源和类的路径?

5) 最后是否可以将 Google 生产服务器与 Emacs - Slime - Swank 组合?那将是满足 梦想,哈哈。

我在 Jetty、Compojure、Ring 和 Hiccup 中使用 appengine-magic。

【问题讨论】:

  • 您可以考虑将您的问题拆分为单独的问题,以便人们更容易回答。
  • 谢谢,我可能会,但最初我认为维护主题对我来说更容易,并且人们可以看到我的设置和问题的背景。让我们看看,这是怎么回事……

标签: java eclipse google-app-engine clojure compojure


【解决方案1】:

我将建议一种 lein/appengine-magic/Eclipse 混合方法。使用 appengine-magic 创建您的 GAE 项目,然后在 Eclipse 中进行设置。

  1. 创建一个 Clojure “运行配置”并检查您需要评估的源文件以启动服务器。当它启动时,你会得到一个 REPL。
  2. 你的GAE入口点是你的web.xml服务器类,它指的是app_servlet.clj中的提前编译源(假设你最初使用lein appengine-new创建项目)。在app_servlet.clj 中查找对make-servlet-service-method 的调用——那里的参数是您的App Engine Magic(请参阅core.clj 中的def-appengine-app)入口点。反过来,它指的是您的 Compojure 处理程序和路由。详情请见https://github.com/gcv/appengine-magic
  3. 我没有这样做,所以不能评论。
  4. 让 appengine-magic 处理这个:lein appengine-magic prepare,然后部署部署 war 目录 appcfg.sh(您可以在 GAE Java SDK 中找到)。您也可以使用 GAE Eclipse 插件来实现这一点。
  5. 您不能在 GAE 中使用套接字。 Swank 依赖于套接字,因此无法对您的实时应用程序进行 REPL。不过,您可以使用开发服务器 REPL 所有您喜欢的内容。

【讨论】:

  • 我从来没有让 appengine-magic 独立工作,也没有 Eclipse。然而,使用普通的 compojure 和 ring 工作......所以我最终也测试了 Netbeans,它在集成 REPL 上存在路径问题。然后是 Emacs,由于接口的原因有点难以进入,现在是 IntelliJ,它迄今为止运行得最好。跟进其他帖子的问题。感谢您的回答 Lispnik。
【解决方案2】:

问题 1 和 2 最终得到解决和清除。

Q 3 我无法做到这一点,因为 java 或 clojure 类相互覆盖,我无法分别更改它们的目标目录。

第一次成功部署后的第 4 季度,现在我知道要包含的核心基础 jar 是什么。是的,这取决于您在项目中使用的内容。我想我在 PHP 部署中传输了太多不必要的文件。

Q 5 这就是我的想法。但是我在开发应用程序引擎服务器上工作时并没有变得时髦。它报告对某些 appengine sdk 文件的非法访问。也许我需要将它包含在项目库中......

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多