2012-11-12 18 views
0

最近我一直在玩编写插件,然后使用ServiceLoader加载。为了让ServiceLoader找到我的插件,META-INF/services /下的我的jar文件中必须包含一个文本文件。文本文件必须在ServiceLoader“查找”的接口后面命名,并且必须包含实现类的规范名称。所有这些工作绝对没问题,但这种方法的一个非常恼人的问题:每一个项目建成时间,我必须手动文本文件中添加/服务/文件夹以及到罐子(用WinRAR) 。这是发展过程中极其繁琐,因为我必须不断地重新构建,以测试的东西项目,这意味着我也有手工每一次到该文件夹​​和文本文件加为好。如何在构建过程中包含自定义文本文件

我真的希望有一种方法让Java在构建项目时自动添加META-INF/services /文件夹以及文本文件,因为这会让我疯狂! :)

顺便说一下,我使用Netbeans(afaik)在内部使用Ant来自动化构建过程。我想这个信息可能与我的问题有关。

谢谢!

+1

为什么不在您的“源代码包”中创建一个META-INF/services'文件夹? – MadProgrammer

回答

2

右键点击你的 “源包”,选择 “新建|其他”

enter image description here

从 “类别” 栏中,选择 “其他”。从 “文件类型” 中选择 “文件夹”

enter image description here

说出你的文件夹...

enter image description here

中提琴:d

enter image description here

现在右键点击新文件夹并遵循相同的基本步骤,但是这次使用“空文件”来创建e您的文本文件

+0

哇,谢谢,那当然是作品! 我以前试图添加META-INF作为一个包,而不是作为一个文件夹,因为连字符不起作用。 我可能有时真的很愚蠢,幸运的是像你这样的人可以帮助那个;​​)再次感谢! – thousands

+0

我为我们的插件API使用了类似的方法;) – MadProgrammer

相关问题