我在groovy脚本中使用自定义注释:
@Retention(RetentionPolicy.RUNTIME)
public @interface ScriptManifest {
/**
* Sets the scripts publicity mode.
* @return ScriptMode
*/
ScriptMode mode();
/**
* Sets the type of script we are using.
* @return ScriptType
*/
Class<? extends ScriptContext>[] type();
/**
* Sets the name of the script.
* @return name
*/
String script_name();
/**
* Sets the author of the script.
* @return author
*/
String author();
}
创建测试脚本,我的IntelliJ将错误“预期'ScriptMode.PUBLIC'显示为内联常量”,并且对于TestContext.class也是如此。脚本功能和运行正常我只是不确定为什么它为我显示这就像是一个错误。
@ScriptManifest(mode = ScriptMode.PUBLIC, type = TestContext.class, script_name = "Test", author = "Jake")
class Test extends Script {
@Override
void prepare() {
println "no" + getName()
}
}
答案 0 :(得分:0)
修复了执行以下操作的问题:我尝试使用javac在我的Maven项目中编译它,我添加了一个新的groovy模块并使用groovyc编译它,它现在工作正常。