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