Assume I have a project K
K depends lib.jar
In lib.jar
, there is a class named x.y.z.Foo
Java class loading behaviour in a standalone application (at least with no custom classloaders) is stable. Make sure that your k.jar (or path) comes before lib.jar in -cp
java arg
java -cp k.jar lib.jar ...
or add dependencies to /META-INF/MANIFEST.MF of your K project as
...
Class-Path: lib1.jar lib2.jar
...
and run
java -jar k.jar
k.jar classes will be loaded first
in Maven it is
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
...