Java 如何在覆盖期间排除jar
我有两个应用程序-A和B 在应用程序A中有一些JAR,如J1、J2、J3。 在应用程序B中有应用程序A的覆盖和依赖关系,但我不希望应用程序B中有JARJ2Java 如何在覆盖期间排除jar,java,maven,Java,Maven,我有两个应用程序-A和B 在应用程序A中有一些JAR,如J1、J2、J3。 在应用程序B中有应用程序A的覆盖和依赖关系,但我不希望应用程序B中有JARJ2 如何排除jar J2?您所要求的是不可能的。如果应用程序B依赖于应用程序A;A取决于J2——您认为如何在不提供J2的情况下运行“B” 唯一可行的办法是:如果你能进一步分割你的应用程序;可能会产生一些成分B';其中B'依赖于A';A'不依赖于J2。然后,您可以在不使用J2的情况下将B'打包 您可以使用Maven依赖项排除,如下所述: ...
如何排除jar J2?您所要求的是不可能的。如果应用程序B依赖于应用程序A;A取决于J2——您认为如何在不提供J2的情况下运行“B”
唯一可行的办法是:如果你能进一步分割你的应用程序;可能会产生一些成分B';其中B'依赖于A';A'不依赖于J2。然后,您可以在不使用J2的情况下将B'打包 您可以使用Maven依赖项排除,如下所述:
...
示例项目a
项目A
1
编写
示例项目B
B项目
但是,请记住,如果所需的类不再存在,则在运行时可能会遇到ClassNotFoundException
<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>