【问题标题】:How to include a custom text file into the build process如何在构建过程中包含自定义文本文件
【发布时间】:2012-11-12 00:18:50
【问题描述】:

最近我一直在写插件,然后我使用 ServiceLoader 加载这些插件。为了让 ServiceLoader 找到我的插件,必须在 META-INF/services/ 下的 jar 中包含一个文本文件。文本文件必须以 ServiceLoader 正在“寻找”的接口命名,并且必须包含实现类的规范名称。所有这些都工作得很好,但是这种方法有一个非常烦人的问题:每次构建项目时,我都必须手动将 /services/ 文件夹以及文本文件添加到jar(使用 Winrar)。这在开发过程中非常很麻烦,因为我必须不断地重新构建项目以进行测试,这意味着我还必须手动添加文件夹和文本文件 strong> 每次也是如此。

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

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

谢谢!

【问题讨论】:

  • 为什么不在“源包”中创建一个META-INF/services 文件夹?

标签: java build-automation serviceloader


【解决方案1】:

右键单击“源包”,选择“新建|其他”

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

为你的文件夹命名...

中提琴:D

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

【讨论】:

  • 哇,谢谢,这当然行得通!我以前尝试将 META-INF 添加为包而不是文件夹,由于连字符,这不起作用。有时我真的很愚蠢,幸运的是有像你这样的人可以提供帮助;)再次感谢!
  • 我对我们的插件 API 使用了类似的方法 ;)
猜你喜欢
  • 2017-01-25
  • 1970-01-01
  • 2015-01-03
  • 2011-03-04
  • 2023-03-26
  • 2015-04-22
  • 2020-06-16
  • 2016-11-03
  • 1970-01-01
相关资源
最近更新 更多