【发布时间】:2019-09-03 07:40:16
【问题描述】:
我有一个大项目,它由几个较小的项目组成,每个项目都有一个pom.xml。有些项目是其他项目的依赖项。感谢 maven,我的工作方式是生成一些独立的阴影 jar 和 war 文件。
我遇到的问题是我有一个新的自定义项目,它依赖于主项目中的类。问题是这个项目包含一个自定义类,因此,生成的jar 文件随后会添加到应用程序中。
首先,我考虑将包含所有依赖项的自定义项目编译成带阴影的jar。但是,在运行该应用程序时,我收到了一个转换错误:
java.lang.ClassCastException: com.some.class cannot be cast to com.another.class
我猜这个问题来自于一些依赖是双重的。 com.another.class 存在于两个阴影jar 中,因此在自定义项目jar 和主项目之一中是不一样的。我有一个 Java 包,它是主项目 jar 和自定义项目 jar 的依赖项。
有人知道如何使它工作吗?有没有办法在自定义项目jar 中不包含依赖项,并明确需要将依赖项寻找到另一个jar 中?
我希望我能够让自己被理解。
谢谢!
【问题讨论】:
-
您是否尝试过 maven-enforcer-plugin 和依赖管理来解决多个版本的问题? - maven.apache.org/enforcer/maven-enforcer-plugin - maven.apache.org/guides/introduction/…
-
感谢您的链接。也许依赖管理页面可以解决我的问题。
标签: java maven jar dependencies