在编译时为Java JAR验证资源文件

时间:2013-09-18 14:10:44

标签: java resources compile-time

有没有办法在编译时验证源代码中引用的资源是否已包含在输出JAR中?

我正在创建一个包含多个PNG的Java JAR文件。我像这样加载它们:

ImageIcon imageIcon = new ImageIcon(MyClass.class.getResource("/path/to/resource.png");

目前,在运行时遇到异常之前,我没有发现缺少的资源。我不想在构建脚本中使用静态资源列表,我希望编译器找出我在代码中使用的资源并检查它们是否存在。

1 个答案:

答案 0 :(得分:0)

实际上,仅在运行时在路径中查找错误似乎很浪费时间。

另一件事是,在移动文件后,由于某种原因,可能无法立即在.jar中看到资源。在它们变得可见之前,我需要做一些魔术(重建项目,重新创建jar)。

这个想法可能是在编译之前根据文件系统生成具有常量的Java类(例如ResourceManager)。

然后使用它们来访问资源:

类似的东西:

ResourceManager.GET_CUSTOMER_SQL_PATH

你怎么看?