gpt4 book ai didi

java - 如何构造与不同项目共享的不同公共(public)代码?

转载 作者:行者123 更新时间:2023-11-30 09:10:40 25 4
gpt4 key购买 nike

我有一个使用 soap 网络服务并将数据保存到数据库的网络服务器项目。

现在我想编写一些导入程序类来定期构建某种数据库缓存。这些导入器类应该重用大量的 Web 服务器项目(尤其是域层、域 POJO、数据库服务、配置等)。进口商稍后将在与网络服务器不同的机器上运行,因此是独立的。

必须如何构建 maven/eclipse 项目才能将这两个项目分开,但重用大量公共(public)代码?

我会把这两个类放在同一个项目中吗?或者我会把通用代码移到一个 jar 中,并使用这个 jar 作为依赖项创建 1 个网络服务器和 1 个导入程序项目吗?

最佳答案

您的最后一段确实给出了合理的解决方案。

如果导入器和 Web 应用程序是密切相关的,并且那些“公共(public)类”的“可重用性”旨在仅在该项目内,您可以做的是拥有一个像这样的多模块项目:

foo // your project name
+ foo-main // your reusable classes, you may split it into several modules if appropriate
+ foo-web // have foo-main as dependency
+ foo-importer // have foo-main as dependency
+ foo-parent // my personal preference is to make parent project a module, not mandatory

如果你的importer是和你的foo项目无关的东西,但是你还是想重用,你可以把它拆分出来

foo // your project name
+ foo-main // your reusable classes, you may split it into several modules if appropriate
+ foo-web // have foo-main as dependency
+ foo-parent // my personal preference is to make parent project a module, not mandatory

bar-importer // another project, having foo-main as dependency

甚至将通用代码作为一个单独的项目

app-common   // the common code in original foo-main, 
// maybe a multi-module project


foo // your project name
+ foo-main // foo-specific codes, have app-common as dependency
+ foo-web // have foo-main as dependency

bar-importer // having app-common as dependency

对于Eclipse,应该没有什么可担心的。鉴于您使用的是最新的 Eclipse + M2E 插件(应该已经与最新的 Eclipse 捆绑在一起),如果您有正确的 POM,当您将项目导入 Eclipse 时(通过导入 -> 现有的 Maven 项目),项目之间的关系应该已经创建.

关于java - 如何构造与不同项目共享的不同公共(public)代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22443140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com