繁体   English   中英

打包通用代码,以便在java中更好地重用代码

[英]Packaging common code for better code reuse in java

我有两个相当独立的java项目,除了它们共享一个共同的mysql数据库。 我想重构这些项目并提取有关公共数据层的所有内容。 我正在使用jOOQ,所以这个层的大部分都在我的构建中自动生成。 除此之外,我还有一些在两个项目中使用的公共实体类。

将这个分开的最佳做法是什么,以便可以在一个地方进行任何更改并仍然传播到这两个项目? 用公共代码创建第三个java简单项目? 你会怎么做

我在分布式系统上工作,多个守护进程需要通过jOOQ访问同一个Postgres数据库。 由于每个守护进程都是自己的Java项目,因此我基本上和你在同一条船上。

我一直在使用的解决方案是创建第三个Java项目作为Java库。 如果您正在使用Netbeans,则可以将其作为子项目依赖项包含在内,并且可以将对库项目的任何更改重新编译到各个应用程序项目中。

需要注意的是,您需要在所有3个项目中指定jOOQ库jar。 在Netbeans中,很容易指定项目的库目录,并且有多个项目共享这些依赖项。 Netbeans将在部署时复制依赖项。

编辑:

步骤基本上是:

  1. 为系统创建一个主布局,IE:
    \n /主项目/\n /主项目/库\n /主项目/软件\n /主项目/软件/ daemon1\n /主项目/软件/ daemon2\n /主项目/共同\n /主项目/普通/ utility1\n /主项目/普通/公用程序\n
  2. /master-project/library.下创建{jar,src,docs}的第三方“库”包/master-project/library.
  3. /master-project/software下创建“应用程序”项目,确保告诉Netbeans仅使用/master-project/library下的第三方/master-project/library
  4. /master-project/common下创建“库”项目,确保告诉NB只使用/master-project/library下的第三方/master-project/library
  5. 为要共享的jOOQ代码创建“库”,如步骤4所示。

每个项目负责自己的编译脚本(包括生成jOOQ代码,如果需要),并从/master-project/library/master-project/common正确指定其依赖项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM