The class java.lang.IllegalArgumentException may be caused by the wrapped ProcessingEnvironment obje
idea2021.1.2启动的时候报错java: java.lang.IllegalArgumentExceptionjava: The class java.lang.IllegalArgumentException may be caused by the wrapped ProcessingEnvironment object.Please pass the wrapped Processi
·
idea2021.1.2启动的时候报错
java: java.lang.IllegalArgumentException
java: The class java.lang.IllegalArgumentException may be caused by the wrapped ProcessingEnvironment object.
Please pass the wrapped ProcessingEnvironment further to super.init().
If you need to access the original ProcessingEnvironment object (e.g. for creating com.sun.source.util.Trees.instance(ProcessingEnvironment)), you may use following code in the processor implementation:
ProcessingEnvironment unwrappedprocessingEnv = jbUnwrap(ProcessingEnvironment.class, processingEnv);
where
private static <T> T jbUnwrap(Class<? extends T> iface, T wrapper) {
T unwrapped = null;
try {
final Class<?> apiWrappers = wrapper.getClass().getClassLoader().loadClass("org.jetbrains.jps.javac.APIWrappers");
final Method unwrapMethod = apiWrappers.getDeclaredMethod("unwrap", Class.class, Object.class);
unwrapped = iface.cast(unwrapMethod.invoke(null, iface, wrapper));
}
catch (Throwable ignored) {}
return unwrapped != null? unwrapped : wrapper;
}
其实idea也提示了怎么操作
java: Workaround: to make project compile with the current annotation processor implementation, start JPS with VM option: -Djps.track.ap.dependencies=false
When run from IDE, the option can be set in "Compiler Settings | build process VM options"
如图可以设置为-Djps.track.ap.dependencies=false
【完】
已在BAT的A中继续打怪升级
更多推荐
已为社区贡献2条内容
所有评论(0)