解决依赖性

时间:2011-02-11 18:50:28

标签: maven

**请参阅与下述问题相关的结构。 “=>” 中引用依赖/类路径条目

我想通过我的自定义文件(具有相同的名称和包结构)覆盖jar文件中的Test.java文件(比如original.jar)。例如,test.java文件在original.jar中可用作“org.sample.Test”,我在项目中创建了一个具有相同名称和包结构的文件(比如项目“Depend”),例如org.sample.Test in主项目的src目录,位于类路径中。

依赖项目被另一个项目作为jar(Depend.jar)使用,但是另一个项目(比如说“Main”项目)不是指在Depend项目中检查的文件,而是引用文件original.jar depend.jar(作为依赖)。我应该如何解决它。

我不能使用子类来覆盖Test.java文件,因为所有方法都是静态的。


结构: -

主项目=> Depend.jar Depends.jar => Original.jar


-Original.jar包含需要重写的Test.java文件 -Depends.jar还在与Original.jar(org.sample)相同的包结构中包含Test.java文件 - 主项目应该引用在Depend项目中检查的Test.java而不是Original.jar。原始版本将由Depends项目引用,以使用Original.jar中除Test.java文件

之外的其他类

1 个答案:

答案 0 :(得分:0)

这是我从你的问题中理解的。

Original.jar包含Test.java Depend.jar取决于Original.jar。它还包含Test.javaMain.jar上有Depend.jar取决于transitively(和Original.jar?)

我们希望Main.jar使用Test.java的{​​{1}}和Depend.jar

以下是一些方法。

  • 如果Original.jar不需要Main.jar Original.jar来自exclude Original.jar
  • 的声明dependency
  • 重新包装 Depend.jar,不包括Original.jar
  • 在此过程中使用Test.java Original.jarDepend.jar创建jar with dependenciesTest.javaOriginal.jar