【问题标题】:Java override class to Load project Class instead Jar classJava 覆盖类以加载项目类而不是 Jar 类
【发布时间】:2015-08-26 13:03:28
【问题描述】:

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

【问题讨论】:

    标签: java jar classloader


    【解决方案1】:

    通常,您需要做的就是确保您的类位于包含您尝试覆盖的代码的 jar 之前的类路径中。

    如果您从命令行运行(将: 替换为; 以在Windows 上执行):

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

    如果您使用的是 Eclipse,请右键单击项目 > 构建路径 > 配置构建路径...,然后选择“订购和导出”选项卡并确保您的项目源目录位于您要覆盖的 jar 之上在列表中。

    【讨论】:

      猜你喜欢
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 2017-11-21
      • 2014-02-03
      • 2019-05-09
      • 2012-01-13
      相关资源
      最近更新 更多