Java:如何在多个应用程序之间共享通用应用程序/UI 代码
Posted
技术标签:
【中文标题】Java:如何在多个应用程序之间共享通用应用程序/UI 代码【英文标题】:Java: How to share common application / UI code among several applications 【发布时间】:2011-09-07 16:17:35 【问题描述】:我有几个主要基于资源不同的应用程序。截至目前,我正在将代码复制到每个应用程序中。这可能是有问题的。一个例子,修复了一个错误,而忘记更新其他的。
我认为创建 JAR 不适合这种情况,因为这些是特定于应用程序的 UI 类(实际上是特定于 android 的活动类),包括实际的应用程序启动代码。
也许可以将这些源文件包含到几个包中,但是我遇到的问题是每个文件在第一行指定了一个特定的包名。
大部分代码与 UI 和 Activity 处理有关。 (实际的通用代码已经在库中)。 here 发布了一个类似的问题。 这种情况有什么优雅的解决方案吗?
【问题讨论】:
【参考方案1】:罐子绝对适合这种情况。您应该将应用程序拆分为多个层,将应用程序特定的类与共享代码分开。
【讨论】:
我应该确认所有实用程序代码都已在库中。问题在于所有特定于 UI 的(android 活动),尤其是主要的启动活动。这些是大部分代码,在 android 清单中被引用。我会考虑将这些添加到一个 jar 中,并找到一种方法来保持清单的快乐。【参考方案2】:我通过使用 Android 库项目解决了这个问题。 (不确定细节,也许它们最终是罐子)查看细节here,特别是“设置图书馆项目”部分。 我基本上把我所有的活动类(除了启动类)都放到了库中。
对于真正的非 UI 绑定代码,JAR,似乎是要走的路。
【讨论】:
【参考方案3】:我同意 artbristol。
我也推荐使用 Maven 并且:
将公共 jar 发布到公司 Maven 存储库 声明对这些 jar 工件的特定版本的依赖关系这样,如果您进行一些不兼容的更改,您不会破坏应用程序。
【讨论】:
以上是关于Java:如何在多个应用程序之间共享通用应用程序/UI 代码的主要内容,如果未能解决你的问题,请参考以下文章
JAVA :- 在 Linux 中不工作的多个 Java 应用程序之间的文件共享和锁定
如何在多个 Symfony 实例之间共享应用程序缓存(共享缓存池)?