我在 eclipse 3.2.1 中有一个 java 项目
我com.abc.Dinesh
在源代码中有一个 java 类。而且我还有一个 jar 文件,其中有一个具有相同名称和包的类。
我在我的项目中导入了 jar 文件。但是,在我的源代码中,当我引用类 Dinesh 时,该类被解析为源代码而不是二进制版本。我想从 jar 中引用类文件。
我怎样才能做到这一点?
~谢谢
您可以尝试以下方法:
right click on your project > Build Path > Configure Build Path...
然后转到选项卡
Order and Export
选择(单击)您的罐子,然后按Top
或Up
直到它位于src
条目上方。
解决您的问题(在 Eclipse 内部或外部)的唯一方法是编写您自己的 ClassLoader 以将 Jar 文件优先于类文件。:
见http://kalanir.blogspot.fr/2010/01/how-to-write-custom-class-loader-to.html
然后用新的设置jvm“java.system.class.loader”属性
类加载器的加载顺序是 Bootstrap CL-->System CL-->Extended CL
现在 jar 和您的源文件在 System CL 中。将 JAR 文件移动到 JDK 中的 ext 文件夹。这样你就可以优先考虑系统类路径上的类而不是 jar。
解决方法:不要参考 .java 文件。删除 .java 文件/将其移动到不同的项目?并且不要在此引用该项目,仅引用 jar,无论是直接引用还是引用 lib 中所需版本的副本
如果您在不同包的类路径中有两个同名的类。在这种情况下,如果您在同一代码中使用这两个类,则需要使用其包来限定。例如,要参考Dinesh
,您需要做类似的事情
com.abc.Dinesh dinesh = new com.abc.Dinesh();