【问题标题】:Adding external .jar to debuggee classpath in netbeans 8在 netbeans 8 中将外部 .jar 添加到调试对象类路径
【发布时间】:2016-06-02 11:35:49
【问题描述】:

我有一个应用程序,它的 main() 使用 ServiceLoader 和反射来生成匹配类的“报告”。但是,我找不到将外部 .jar 文件添加到调试程序的类路径的简单方法。在 Netbeans 8 之前,答案是“Project->Libraries->Add Jar”。但是该选项在 Netbeans 8 中不再存在。 Tools->Libraries 似乎应该是同一件事,但我看不出如何从那里添加库,使其在调试对象类路径上可用。我唯一看到的是将 .jar 文件安装到本地 maven 存储库中,将其包装在工件中,并使其成为项目依赖项。但我不希望这是对项目本身的长期更改,我只想为单个调试会话添加一个 jar。

【问题讨论】:

    标签: java netbeans


    【解决方案1】:

    我从未找到仅涉及 Netbeans 设置的答案。有一些方法可以将仅 m​​aven jar 的工件安装到我的本地 repo 中并在 pom.xml 中引用它们,但这意味着更改项目以更改 jar。但是,我确实找到了一个在运行时使用类加载器上的反射来增加类路径的技巧,这很有效。假设 args[i] 包含要注入的 jar 路径:

    File file = new File(args[i]);
    Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[]{URL.class});
    method.setAccessible(true);
    method.invoke(ClassLoader.getSystemClassLoader(), new Object[]{file.toURI().toURL()});
    

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 2013-02-27
      • 2013-07-15
      • 2016-07-10
      • 2013-08-27
      • 2015-03-02
      • 2012-04-22
      • 2014-02-03
      • 1970-01-01
      相关资源
      最近更新 更多