在子项目中使用重定位的依赖项

时间:2013-07-18 21:35:09

标签: java maven guava maven-shade-plugin relocation

Heyho,

我目前正在开发一个bukkit插件,我想使用番石榴。 Bukkit仍然使用Guava 11.0,但我想使用14.0。所以我试图在我的主模块中重新定位番石榴。这非常有效。同一级别的另一个模块也使用番石榴,它需要“相同”的番石榴。所以番石榴也用在主体工程中。当然,导入已更改,主项目和其他模块不兼容。

项目结构:

父:

  • 主要模块:使用重定位版本的番石榴(14.0)#
  • 另一个模块:使用番石榴14.0但没有重新定位 - >与主模块不兼容

我已经尝试将番石榴重新定位到另一个模块中的相同路径,但没有任何反应。

也许有人知道如何解决这个问题。我只需要一种方法在我的其他模块中使用我重新定位的番石榴:/

相关文章:Maven shade relocations accross all modules?

1 个答案:

答案 0 :(得分:0)

您是否尝试从Bukkit依赖项中排除v14?原谅下面的命名约定。我没有在Maven中查找依赖项。

<dependencies>
 <dependency>
  <groupId>Bukkit</groupId>
  <artifactId>Something</artifactId>
  <version>1.0</version>
  <exclusions>
    <exclusion>  <!-- declare the exclusion here -->
      <groupId>Guava</groupId>
      <artifactId>v14</artifactId>
    </exclusion>
  </exclusions> 
 </dependency>
</dependencies>