首先:我的Maven知识有限,请多多包涵。;-) 我有一个简单的 Maven 项目,目前由三个模块组成。包含应用程序核心的模块称为核心(创意名称,嗯?:-)),其他模块基本上是这个核心模块的插件。有一个限制:核心模块只能添加一个插件。
核心模块有自己的 Spring IoC 配置减去插件配置。这很简单:核心代码将读取一个名为“plugin”的bean,它没有在核心配置中定义。插件模块将发布它们自己的配置文件,这些文件将提供一个名为“plugin”的 bean,然后由核心代码使用。这非常适合我的用例。
我想为将部署系统的管理员提供一种构建包含核心、选定插件和合理默认配置的发行版的简单方法。也许是一个tar.gz
或类似的东西。我不希望他挖掘我的 Spring IoC 文件,将它们复制在一起等等。诸如 TCP/IP 端口之类的实际配置是在属性文件中完成的。
为了澄清我的意思,我已经建立了一个示例结构。请注意,文件名仅用于说明目的。
/bin/core.jar [从核心模块构建] /bin/plugin.jar [从插件模块构建] /lib-bin/library-required-by-plugin.jar [maven + copy解决的依赖关系] /lib-bin/library-required-by-core.jar [maven + copy解决的依赖关系] /lib-bin/another-library-required-by-core.jar [依赖由 maven + 复制解决] /etc/spring/core-beans.xml [复制自核心模块 /etc/] /etc/spring/plugin.xml [从插件模块 /etc/ 复制] /etc/default-core-config.properties [从核心模块 /etc/ 复制] /etc/default-plugin-config.properties [从插件模块 /etc/ 复制]
我目前正在使用组装插件,但我似乎在转圈,没有任何效果。相当令人沮丧。如果您需要更多信息或不明白我的意思,请随时询问。:-)
除了澄清我的问题:如何做到这一点?(嗯,就是这么简单:-))正如我之前所说,我对 Maven 的了解是有限的,目前我无处可去,即使我知道汇编插件可能是要走的路。尤其是如何从每个模块中获取依赖项,在哪里配置插件(在父项目中?),甚至是一些程序集描述符都会有很大帮助。
感谢您的所有意见!