当前位置: 首页 > 知识库问答 >
问题:

如何打印Jenkins插件的当前类路径?

戎俊
2023-03-14

我正在开发一个Jenkins插件,但我有几个问题,我认为可能是由于插件的类路径中丢失了一个jar,尽管它在插件的WEB-INF/lib目录中。

通常,我会在Java中使用以下代码来打印类路径,但这似乎不适用于Jenkins。

ClassLoader cl = getClass().getClassLoader();
URL[] urls = ((URLClassLoader)cl).getURLs();
for(URL url: urls){
    System.out.println(url.getFile());
}

当我执行插件时,上面的代码会导致一个ClassCastExc0019异常与消息hudson一起抛出。不能将$AntClassLoader2转换为java.net.URLClassLoader

打印Jenkins插件使用的类路径的最佳方式是什么?

共有1个答案

于恺
2023-03-14

通读了Javadoc forAntClassLoader后,这个解决方案似乎比我预期的要容易得多,所以我写了下面的代码,可以用来打印Jenkins插件的类路径。

AntClassLoader cl = (AntClassLoader) getClass().getClassLoader();
String[] classpath = cl.getClasspath().split(":");
for (String classpathElement : classpath) {
    System.out.println(classpathElement);
}
 类似资料:
  • 我试图在Swift中打印当前类的名称。更具体地说,我希望实现以下输出: 我可以打印函数名。这是我最近一次打印类名和函数名: 印刷品 而且 印刷品 这两种方法都很接近我想要的,但是路径很长,与我在代码中看到的名称相比,被破坏的类名可能非常不可读。

  • 问题内容: 我正在编写一个Eclipse插件,它将在Java项目的上下文菜单中显示一个菜单项。我已将plugin.xml编写如下: 因此,我现在尝试编写扩展的类,以便可以创建动态菜单,并且该菜单的内容将基于Java项目根目录中存在的一组文件。但是我一直试图从方法中获取到根目录的路径。 基于plugin.xml文件,我可以确保仅在选择了单个Java项目的情况下才调用该方法,因此,我要做的就是获取当前

  • 问题内容: 我在测试类中使用以下代码,以将所有spring.xml文件加载到classpath和application-content.xml文件中。 有没有一种方法可以打印classpath中所有“ spring.xml”文件的路径?我有一些jar文件,其中包含spring.xml。但是,其中一些可能不需要运行测试。有没有办法打印它们(jar文件或路径)并删除程序上不需要的spring.xml文

  • 我想用java打印当前日期和时间…这是我从java教程中尝试的代码: 它编译得很好。但是给出的输出是: 这就是我编译代码并运行的方式: sou@sou-linux:~/desktop/java$javac datedemo.java sou@sou-linux:~/desktop/java$java DateDemo

  • 问题内容: 我想在Java中打印当前日期和时间。这是我在Java教程中尝试的代码: 它编译良好。但是给出的输出是: 日期@ 15db9742 虽然我期望这样的输出: 2009年5月4日星期一05:51:52 CDT 代码有什么问题? 编辑:我试图重命名该类。编辑的代码: 这就是我编译代码并运行的方式: sou @ sou-linux:〜/ Desktop / java $ javac DateDe

  • 我有以下几点: 如何打印的类型? 使用和不起作用。还有其他方法可以打印号码的类型吗?