我正在使用maven-antrun-plugin在打包后对单个可部署工件执行多项操作。但是,我正在使用的包对它自己的插件的类路径做了几个假设,这些插件不在任何存储库中。我已经尝试将插件文件添加到jar中,但没有成功。我的下一步是让插件驻留在jar文件旁边的文件夹中,其结构如下:
.
nutch2handler.jar
plugins/
plugin1/plugin1.jar
plugin2/plugin2.jar
plugin3/plugin3.jar
etcetcetc
在完成包装各种工件(jar,插件,www,shell脚本等)之后,它会将一些配置添加到jar的根目录,原因与上面相同,这适用于这种情况。我知道我可以创建一个属性,包含一个包含我想要添加到类路径的路径的字符串,但是我不想在这个属性中输入所有这20多个插件,因为插件内容可能会有所不同。如何以递归方式将这些jar文件添加到该类路径?
我目前有
<property name="jar.class.path" value="" />
在我的目标配置中,并希望使用
插入类似的内容 <attribute name="Class-Path" value="${jar.class.path}"/>
在jar标签内。
答案 0 :(得分:0)
如果您的nutch2handler.jar和所有其他插件位于名为&#34; lib&#34;的文件夹中:
您可以定义类似下面的内容,将所有递归jar添加到类路径中:
<path id="jar.class.path">
<fileset dir="lib">
<include name="**/*.jar" />
</fileset>
</path>
然后您可以使用<classpath refid="jar.class.path" />
在必要时引用该属性。