[英]Maven WAR: split classes JAR for different packages
我正在使用 Eclipse(使用 m2e 插件)开发 J2EE Web 应用程序。 如果我的项目包含一些专用于特定客户的类,通常我会将它们分组到特定的包中,例如:
所以在部署时,我可以使用 Eclipse .jardesc 描述符将它们打包到不同的 JAR 中,获得如下内容:
这种方法的优点是,如果我只需要更新 customer1 类,我只能更新 customer1 jar(如果依赖项没有改变)。
现在我想在我的 webapp 项目中使用 Maven,但我找不到将 jars 分开的解决方案。 使用带有archiveClasses
配置的 WAR 插件我只能为我的类部署一个 JAR,我无法配置如何将包拆分为不同的 JAR。
我曾考虑使用叠加层,但整个项目必须拆分为多个项目,而且可能会变得过于复杂(尤其是在我有 20/30 客户的情况下)。 我宁愿只对类部署进行“更轻”的拆分。
或者,Maven 有没有办法在 WAR 组装(使用不同的executions
)之前将我的类打包到不同的 JAR 中,然后将它们包含到 WAR 中,而忽略类的标准部署(或等效的 JAR)?
如果你想使用Maven,如果你想将不同jar中的代码分开,最好创建一个多模块项目。
所以你会有:
这是一个完整的示例(实际上构建了一个 EAR,但如果您不需要,您可以跳过 EAR):
https://howtodoinjava.com/maven/multi-module-project-eclipse/
如果您需要为客户分开,您可以使用 Maven 配置文件来做到这一点:
<profile>
<id>customer2</id>
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>artificatCustomer2</artifactId>
</dependency>
<profile>
<id>customer1</id>
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>artificatCustomer1</artifactId>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.