我对耳朵文件有问题,无法在多个地方获取相同的库,因此会产生冲突。问题是我们使用了很多我们根本无法控制的 3:rd 方库。所以,我们最终到处都抛出了很多排除项,这对我来说似乎不对,这很容易出错,而且我们也没有在本地安装的 jboss 上检测到问题。
所以,我想执行某种预打包步骤,简单地删除重复的 jar 文件。如果部署在两个地方,请删除依赖项目中的那些。例如 jboss-seam.jar 包含在我们使用的几个项目中。其中一些依赖项是通用的,包含在 parent.pom 中。一些依赖项是特定于 ejb 或特定于 web 的,因此包含在 ejb 和/或 web-project 中。在 ear 文件中,jboss-seam.jar 包含在三个地方,并弄乱了类加载器。所以应该有一些机制来简单地检查一些简单的规则,比如,如果在耳朵里,不应该在战争中,而不是必须创建带有排除项的 xml-hell。
有没有更好的方法来处理这个问题?