我有一个由几个模块组成的 Maven 项目。这将部署在客户端计算机上,将涉及安装 Tomcat,并将使用 NSIS 进行安装程序。有一个单独的应用程序可以监控 tomcat 并可以重新启动它、执行更新等。
所以,我的模块设置如下:
项目 +-- 客户端(所有代码,处理程序,用于战争) +-- client-common - (共享代码,在监视器和客户端之间共享) +-- client-web - (战争,基本上只是使用战争有applicationcontext,web.xml等) +-- 监视器 - (监视器应用程序 jar。使用包装器运行)
所以,我需要创建一个安装程序。我正计划创建另一个模块,即安装程序。这是我拥有 tomcat 目录的地方,我希望 maven 能够“组装”所有内容,然后运行 NSIS,这样我就可以创建最终的安装程序。
但是,我需要将监视器 jar 文件放在一个目录中,然后将所有监视器依赖项放在 lib/ 目录中。最终的目录结构应该是:
项目安装程序目录/monitor/monitor-version.jar 项目安装程序目录/monitor/lib/monitor-dep-1.jar 项目安装程序目录/monitor/lib/monitor-dep-2.jar 项目安装程序目录/monitor/lib/monitor-dep-3.jar 项目安装程序目录/webapps/client-web.war
在 client-web\WEB-INF\lib 目录中,我们将在它被分解后拥有所有 client-web 的依赖项。那行得通,我有 .war 文件。我遇到的问题是让监视器模块依赖项独立于客户端 Web 模块的依赖项。
我试图只创建安装程序模块并制作监视器和客户端 Web 依赖项,但是当我使用依赖项复制时,它给了我一切。不是我想要的。
我倾向于创建一个名为 monitor-assembly 的新模块,或者给我一个包含我需要的目录格式的 zip 文件,但那是另一个模块。
有人可以帮我用正确的方法来完成这个吗?
谢谢!