【发布时间】:2017-08-02 18:33:02
【问题描述】:
在我的 java-SWT 项目中,我有一堆 .svg 格式的图标,但我不知道如何使用 .svg 资源创建 SWT 图像,所以我首先使用 ImageMagick 将它们转换为 .png . .svg 文件仍然是“源”图像:当我想编辑图标时,我总是编辑 .svg 文件,而不是 .png 文件。
(如果您能告诉我如何从 .svg 资源创建 SWT 图像,我将不胜感激,但这不是实际问题。)
现在我正在手动启动 svg 到 png 的转换:每次我更改一个 .svg 文件时,我都会运行一个 shell 脚本,该脚本反复调用 ImageMagick 将它们全部转换为 .png 并将它们存储在正确的资源文件夹,然后构建步骤将它们从该文件夹复制到正在运行的应用程序可以找到它们的输出文件夹。
我想知道两件事:
如何将 svg-to-png 转换作为 maven 构建的一部分自动进行,以便在我执行
mvn clean install时发生完整转换,因此只有实际更改的.svg文件才能获得当我做mvn install(没有clean)时转换。如何说服 IntelliJ IDEA 也这样做。 (因为在大多数情况下,我希望能够在 IDEA 中直接点击“Build-And-Run”,而无需使用 maven。)
如果生成的.png文件直接进入项目的输出文件夹树中的资源目录而不是源文件夹树下的资源目录,我完全不介意。这实际上会节省“复制资源”步骤,所以会很好。
所以,这个问题本质上是关于自定义编译的:.svg 文件可以被认为是源文件,.png 文件可以被认为是二进制输出文件,ImageMagick 可以被认为是编译器。这个问题可以重新表述为如何使用 a) maven 和 b) intelliJ IDEA 为这些工具默认不知道的自定义编译器进行“制作”。
【问题讨论】:
标签: java maven intellij-idea resources