【发布时间】:2012-01-21 16:19:01
【问题描述】:
刚进入 Maven,我遇到了循环依赖问题。 我原来的结构是
|-mainProject
|-webProject
其中 mainProject 将 webProject 作为依赖项(战争包装)。 由于webProject也依赖于mainProject,因此出现错误,因此我更改了结构
|-coreProject
|-mainProject
|-webProject
这样核心就被打包到一个 jar 中,并且 main 和 web 都具有核心作为依赖项。 现在我在创建 -shade.jar 时看到了不同的错误。
CoreProject 的组件需要被 main 和 web 项目使用。 在这种情况下,最佳做法是什么?
我的依赖图看起来像
mainProject(jar) -> webProject(war) --
|-> coreProject(jar) <-|
|-> jetty jars
我在 mainProject 中使用嵌入式码头,因此我的最终结果将是来自 mainProject 的单个 jar 文件,其中包括 web&coreProjects。
[错误] 无法在项目 mainProject 上执行目标 org.apache.maven.plugins:maven-shade-plugin:1.4:shade(默认):创建阴影 jar 时出错:Manifest 主要属性的签名文件摘要无效-> [帮助 1]
我尝试过诸如
之类的过滤器<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
但还是出现同样的错误
【问题讨论】:
-
您遇到了什么错误?它与您所说的循环依赖有关吗?你在创建多模块项目吗?
标签: java maven-2 build pom.xml