将多个jar文件添加到jar的类路径中



我使用maven-antrun-plugin在打包后对单个可部署工件执行几项操作。但是,我使用的包对它自己的插件的类路径做了几个假设,这些插件不在任何存储库中。我尝试将插件文件添加到jar中,但没有成功。我的下一步是让插件驻留在jar文件旁边的文件夹中,结构如下:

    .
    nutch2handler.jar
    plugins/
        plugin1/plugin1.jar
        plugin2/plugin2.jar
        plugin3/plugin3.jar
        etcetcetc

在antrun完成了各种工件(jar,插件,www, shell脚本等)的打包后,它将一些配置添加到jar的根目录中,原因与上述相同,这在本例中有效。我知道我可以创建一个包含字符串的属性,其中包含我想添加到类路径中的路径,但我不想在该属性中键入所有这20多个插件,因为插件内容可能会有所不同。如何递归地将这些jar文件添加到该类路径中?

我现在有

    <property name="jar.class.path" value="" />
在我的目标配置中,我想用 插入这样的内容
    <attribute name="Class-Path" value="${jar.class.path}"/>

如果您的nutch2handler.jar和所有其他插件都在名为"lib"的文件夹中:

您可以定义如下内容,将所有递归jar添加到您的类路径:

<path id="jar.class.path">
  <fileset dir="lib">
    <include name="**/*.jar" />
  </fileset>
</path>

,然后你可以在任何需要的地方使用<classpath refid="jar.class.path" />来引用属性。

相关内容

  • 没有找到相关文章

最新更新