我想用一个带有长的多行字符串常量的类来构造一个 java 类文件。(将字符串放入单独的文件并从与类相同的 JAR 加载它的常用方法不是一个选项。不会有 JAR,只有那个类文件。)最初,我使用的是多行字符串注释处理器,它允许将字符串内容放在文档注释中:
/**
* This will be the actual
* content of the string
**/
@Multiline static final String foo = "this literal is ignored";
在这里我误以为:“哦,注释不方便,为什么不更改多行字符串以从外部文件加载内容?” 事实证明这是可行的,但是 maven(我正在使用它来构建)当然不明白如果注释处理器读取的文件发生更改,则需要重新编译类文件。
方法:
- 设置
useIncrementalCompilation
为false
:根本不符合我的预期,而是禁用增量构建的依赖项检查 - 添加
.py
到fileExtensions
(没想到会起作用) - 添加
maven-clean-plugin
作为初始化阶段的一部分:这可行,但有点矫枉过正......</li>
我真正想做的是将嵌入文件的路径添加到 maven 的“如果此文件更改,请重新编译该文件”列表中。这是可能的,还是有另一种优雅的方法来解决这个问题?