Java 在注释处理器中使用StandardLocation类

Java 在注释处理器中使用StandardLocation类,java,annotation-processing,getresource,Java,Annotation Processing,Getresource,我正在使用NETBeans IDE开发注释处理器。我已经编写了注释处理器,然后将其转换为JAR,然后将这个JAR作为引用库添加到另一个java应用程序中,我正在使用注释 现在我的问题是在注释处理器内部,如果我想访问源文件(带注释的文件),那么我尝试使用下面的代码获取FileObject FileObject source = processingEnv.getFiler().getResource(StandardLocation.SOURCE_PATH,"","demo/MainCopy.ja

我正在使用NETBeans IDE开发注释处理器。我已经编写了注释处理器,然后将其转换为JAR,然后将这个JAR作为引用库添加到另一个java应用程序中,我正在使用注释

现在我的问题是在注释处理器内部,如果我想访问源文件(带注释的文件),那么我尝试使用下面的代码获取FileObject

FileObject source = processingEnv.getFiler().getResource(StandardLocation.SOURCE_PATH,"","demo/MainCopy.java");
但它返回空值。这里的演示是带有注释类MainCopy.java的包。当我阅读StandardLocation类的文档时,它说它必须得到支持才能工作,有人能帮我解决这个问题,或者指导我如何获取FileObject


谢谢

您尝试过使用javac吗?您是否尝试过:getResource(StandardLocation.SOURCE\u路径,“demo”,“MainCopy.java”)?这些只是想法--getResource方法指定必须支持类_输出和源_输出,但在源_路径上保持静默。@jbunting,是的,我尝试按照您的建议将“demo”作为第二个参数,但这是一次失败的尝试。我一直在变空。我也尝试过使用javac:(没有多少安慰,但我刚刚通过调试器了解了这一点,似乎文件管理器不支持将
SOURCE\u PATH
作为位置。另请参见: