jar类文件与具有相同名称和包的本地类

时间:2016-04-18 15:26:37

标签: java jar packages

我有一种情况,我有包含的jar文件 com.somepackage.ABC.class个文件 我在我的本地工作区com.somepackage.ABC.java(同名和包)中创建了重写ABC.java的现有功能 当我运行程序时,我遇到了问题,它始终是拾取jar的ABC文件 不是我的当地人。

1 个答案:

答案 0 :(得分:0)

您应尽可能删除包中的冲突和类的名称。只需使用其他类名(例如DEF)或其他包名称即可。有很多方法可以使用像services这样的机制来实现这一点。

假设您必须忍受冲突,默认情况下,您的结果将取决于启动JVM的ClassPath。在当前文件夹中编译本地ABC.javaABC.class之后(实际的类在com/somepackage中)然后,您应该将类​​路径指定为:java -cp ".:path/to/foo.jar(在Unix上)或java -cp .;path\to\foo.jar(在Windows上),那么您的本地类将优先于JAR文件中的类。