[英]Packaging common code for better code reuse in java
我有两个相当独立的java项目,除了它们共享一个共同的mysql数据库。 我想重构这些项目并提取有关公共数据层的所有内容。 我正在使用jOOQ,所以这个层的大部分都在我的构建中自动生成。 除此之外,我还有一些在两个项目中使用的公共实体类。
将这个分开的最佳做法是什么,以便可以在一个地方进行任何更改并仍然传播到这两个项目? 用公共代码创建第三个java简单项目? 你会怎么做
我在分布式系统上工作,多个守护进程需要通过jOOQ访问同一个Postgres数据库。 由于每个守护进程都是自己的Java项目,因此我基本上和你在同一条船上。
我一直在使用的解决方案是创建第三个Java项目作为Java库。 如果您正在使用Netbeans,则可以将其作为子项目依赖项包含在内,并且可以将对库项目的任何更改重新编译到各个应用程序项目中。
需要注意的是,您需要在所有3个项目中指定jOOQ库jar。 在Netbeans中,很容易指定项目的库目录,并且有多个项目共享这些依赖项。 Netbeans将在部署时复制依赖项。
编辑:
步骤基本上是:
\n /主项目/\n /主项目/库\n /主项目/软件\n /主项目/软件/ daemon1\n /主项目/软件/ daemon2\n /主项目/共同\n /主项目/普通/ utility1\n /主项目/普通/公用程序\n
/master-project/library.
下创建{jar,src,docs}
的第三方“库”包/master-project/library.
/master-project/software
下创建“应用程序”项目,确保告诉Netbeans仅使用/master-project/library
下的第三方/master-project/library
。 /master-project/common
下创建“库”项目,确保告诉NB只使用/master-project/library
下的第三方/master-project/library
。 每个项目负责自己的编译脚本(包括生成jOOQ代码,如果需要),并从/master-project/library
和/master-project/common
正确指定其依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.