【问题标题】:Can I put different parts of a Javalite project in separate Maven repos?我可以将 Javalite 项目的不同部分放在单独的 Maven 存储库中吗?
【发布时间】:2017-02-08 15:04:07
【问题描述】:

在我的 Javalite 项目中,我有我的模型、控制器、配置文件和其他类。我想重用这个项目中的一些部分,因为在我的其他 Javalite 项目中,我想使用相同的模型,但我不想简单地复制粘贴或重写我的模型类。是否可以将我的模型类放在 Maven 存储库中,并在我想在我的任何 Javalite 项目中使用模型时简单地导入该存储库?我也想重用我的一些控制器,所以我也对控制器提出同样的要求。

【问题讨论】:

  • 使用其他项目/模块作为依赖?
  • 错误,“当然可以”。但是你想走多远会极大地影响这将是多少工作。这只是为了在一台开发机器上做事,还是您希望为多台开发机器/位置设置它?
  • @khmarbaise 我之所以问这个问题是因为 ActiveJDBC(Javalite 的一个模块)要正常工作,是将所有模型类放在源文件夹内的某个包中。我不确定在子模块下定义模块类是否适用于架构。
  • @Gimby 请查看我的其他评论。我知道它可以在普通的 Java 项目上完成,我只是不确定它是否能很好地与 Javalite 的架构配合使用。至于你的问题,我不确定我是否理解。目前我是唯一一个在做这个项目的人,但我希望事情整洁且可重复使用,我不知道公司将来是否会分配更多的人来做这个。

标签: java maven activejdbc javalite


【解决方案1】:

JavaLite 项目是 Maven 模块,因此,您可以创建一个更复杂的 Maven 项目,其中包含相互依赖的子模块。事实上,我构建的几乎每个 JavaLite 项目都是这样分解的。以下是我们构建模块的方式:

root module
  |
  +-- common
  |
  +-- web-customer-ui
  |
  +-- web-internal-admin
  |
  +-- web-rest-api
  |
  +-- another_module

通常,所有这些模块都希望访问同一个数据库,因此 ActiveJDBC 模型被放入commoncommon 还将托管其他应用程序共享的公共服务和其他实用程序类(你知道.. 常见的东西 :))。

然后,还有网络应用程序——这些是具有各自控制器、视图等的 ActiveWeb 项目。每个网络应用程序都依赖于共同点,并将使用相同的服务和模型。

我们不会在不同的网络应用程序之间共享控制器,即使它们的名称和功能相同。

希望对你有帮助

【讨论】:

  • 谢谢伊戈尔,我会尝试用一个虚拟项目来做这个,看看这是否是我想要用我的项目做的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-27
  • 1970-01-01
  • 2019-03-19
  • 2017-10-11
  • 1970-01-01
  • 2010-12-17
相关资源
最近更新 更多