如何在叠加期间排除jar

时间:2015-04-08 07:40:27

标签: java maven

我有两个应用程序 - A和B

在应用程序A中有一些罐子说J1,J2,J3。 在应用程序B中,有应用程序A的叠加和依赖。但我不想在应用程序B中使用jar J2。

如何排除jar J2?

2 个答案:

答案 0 :(得分:0)

你所要求的是不可能的。如果应用程序B依赖于应用程序A;和A取决于J2 - 您认为如何运行" B"没有提供J2?

唯一可行的方法:如果你可以进一步切片你的应用程序;有可能提出一些组件B&#39 ;;其中B'取决于A&#39 ;;和A'不依赖于J2。然后你可以打包B'没有J2。

答案 1 :(得分:0)

您可以按照here所述使用Maven依赖关系排除:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>sample.ProjectA</groupId>
      <artifactId>Project-A</artifactId>
      <version>1.0</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>  <!-- declare the exclusion here -->
          <groupId>sample.ProjectB</groupId>
          <artifactId>Project-B</artifactId>
        </exclusion>
      </exclusions> 
    </dependency>
  </dependencies>
</project>

但是,请记住,如果所需的类不再存在,您可能会在运行时遇到ClassNotFoundExceptions。