Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java重写类以加载项目类而不是Jar类_Java_Jar_Classloader - Fatal编程技术网

Java重写类以加载项目类而不是Jar类

Java重写类以加载项目类而不是Jar类,java,jar,classloader,Java,Jar,Classloader,我有一个jar,其中包含一个我想修改的类。出于某种原因,我不想重新编译和更新Jar。因此,我要做的是在我的项目中为该类重新创建一个完整的限定名,并将代码放在其中,但我不知道如何确保JVM加载了我的项目类而不是Jar类。 我看过一些帖子,但它们是关于如何将Jar类加载到项目中,而不是相反的方式。通常,您需要做的就是确保您的类在包含您试图重写的代码的Jar之前位于类路径上 如果您是从命令行运行的(在windows上执行时,将:替换为;): 如果您使用的是Eclipse,右键单击项目>构建路径>配置构

我有一个jar,其中包含一个我想修改的类。出于某种原因,我不想重新编译和更新Jar。因此,我要做的是在我的项目中为该类重新创建一个完整的限定名,并将代码放在其中,但我不知道如何确保JVM加载了我的项目类而不是Jar类。
我看过一些帖子,但它们是关于如何将Jar类加载到项目中,而不是相反的方式。

通常,您需要做的就是确保您的类在包含您试图重写的代码的Jar之前位于类路径上

如果您是从命令行运行的(在windows上执行时,将
替换为
):

如果您使用的是Eclipse,右键单击项目>构建路径>配置构建路径…,然后选择“Order and Export”选项卡,并确保您的项目源目录位于列表中覆盖的jar之上

java -cp myproject.jar:their.jar com.package.Main