【发布时间】:2010-01-05 16:27:59
【问题描述】:
首先:我的 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 的了解是有限的,目前我无处可去,即使我知道汇编插件可能是要走的路。尤其是如何从每个模块中获取依赖关系,在哪里配置插件(在父项目中?),甚至是一些程序集描述符都会有很大帮助。
感谢您的所有意见!
【问题讨论】:
标签: spring maven-2 distribution