java - 具有可选的 Google App Engine 支持的标准 Java webapp

标签 java google-app-engine maven tomcat web-applications

我已经构建了大量在 Tomcat 和 Jetty 等标准容器中运行的 Java 网络应用程序,但我之前从未构建过在 Google 的 App Engine 中运行的应用程序。我正在使用 Maven,所以我最初认为我可以使用构建配置文件来执行此操作,以便在构建时选择性地包含 Google 的库以制作与 App Engine 兼容的 WAR。

不幸的是,它似乎比这更复杂。在通读文档时,您似乎必须编写大量非常具体的代码才能使用 App Engine。例如,所有文件系统写入都需要通过 App Engine 数据存储,因此您不能使用 native java.io.* 库。

我理解为什么这些东西是必要的,并且我不介意在我的 webapp 中包含一些这样的代码。但是,我真的不喜欢我的 Web 应用程序只能在 App Engine 上运行的想法。是否可以/可行地编写我的代码,以便我也可以在像 Tomcat 这样的典型容器中运行它?

最佳答案

这主要取决于您的应用要做什么。一旦你想对数据存储做一些事情,你就会遇到麻烦,例如缓存。也许你可以将数据存储调用或缓存包装起来,但某些 api,比如你可以忘记的搜索。如果您只想在本地运行一些没有问题的东西,您可以在本地模拟应用引擎。

关于java - 具有可选的 Google App Engine 支持的标准 Java webapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27215110/

相关文章:

java - 无法使用 JDO 将对象添加到 GAE 中保存的集合

java - 导入org.springframework.orm.hibernate3.support.HibernateDaoSupport无法解析

java - 即使 while 循环存在,主线程也死了

java - 计算 AWS4 签名后无法重置流

java - Google DataStore 与 objectify - HashMap 上的复合查询

python - 如何在 GAE Jinja2 中将查询结果呈现为复选框?

java - 使用 response.sendRedirect() 时出现空指针

java - 有没有办法通过命令行将 JVM 参数传递给 Maven?

java - Android:使用 MediaRecorder 录制后播放媒体文件

java - 在 Java 中存储和访问字符串(通过使用数组)