【问题标题】:Google App Engine Code Reuse Across Projects跨项目的 Google App Engine 代码重用
【发布时间】:2010-11-14 12:24:39
【问题描述】:

我刚开始学习 Java、GAE 等。

我已经在 Eclipse IDE 中使用 GAE 启动了一个项目。我正在使用 GAE、Jersey、JAXB 等创建一个网站和一个 RESTful Web 服务这包括项目的 src 目录中的几个代码文件,它们处理 HTTP 请求、将​​数据持久保存到数据存储等。我还有几个文件在war 目录 html 文件、jsp 等,这是我拥有的任何 Web UI。

我想为第二个网站启动第二个项目,但我不想在新项目中重新创建或复制现有的 java 代码我希望能够重用第一个项目中的代码行,因为我维护在所有项目中更新的代码。

在 .net 开发中这很简单,因为所有内容都编译成一组程序集(dll 文件),我可以在许多项目中重复使用这些程序集。一旦我进行更改并编译重用代码,所有引用这些程序集的项目都会自动拥有新版本。

如何在 GAE 开发中实现类似的代码重用?

【问题讨论】:

    标签: java google-app-engine rest code-reuse


    【解决方案1】:

    您在使用 Eclipse 吗?在这种情况下,您可以(在您的项目中)新建->文件夹,然后选择高级选项,检查文件系统中文件夹的链接。将此链接到另一个项目中的源(子)文件夹。

    这样,您甚至可以在两个项目中编辑此共享代码,并且当您编译其中一个项目时,已编译的类将在您(该特定项目的)war 包中。

    注意:我实际上把“通用”代码放到了一个单独的项目中。

    [编辑:随后通过项目->构建路径->源将此文件夹指定为“源文件夹”]

    【讨论】:

    • 感谢您的回复,我会试试看!
    • 这听起来很复杂。难道没有更简单的方法来告诉(Google App Engine)Web 应用程序项目将来自另一个 Eclipse 项目的代码不仅添加到其构建路径(这工作正常)而且添加到其运行时类路径(即复制到战争中)?
    【解决方案2】:

    是的,java 仍然没有模块系统,这使得重用比在 .net 中更难一些,但是您可以创建两个项目并重用 .jar 或制作 eclipse 引用。 需要考虑的一件事是,某些库(例如 jersey)可能需要额外的步骤才能重用,而不仅仅是设置类路径。见JAX-RS REST Services as a library

    如果你想从 .jar 地狱中拯救你的灵魂,请使用 maven :)

    【讨论】:

    • 感谢您的回复。我以前没有听说过 Maven,所以我会去看看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多