我希望构建一个带有长字符串常量的Java类文件。 (通常的方法是将字符串放入单独的文件中,并从与类相同的JAR加载它,但这不是一个选项。只会有一个类文件,没有JAR。)最初,我使用了multiline-string注解处理器,它允许在文档注释中放置字符串内容:
/**
* 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
添加为初始化阶段的一部分:这个方法虽然可行,但有点杀鸡焉用牛刀。