annotation-processing相关内容
我所做的每个注解处理器似乎都有这个问题。例如, @Constant 注释: @Retention(RetentionPolicy.SOURCE) @Target(ElementType.FIELD) public @interface常量{ } 处理器: 包处理器; @SupportedAnnotationTypes(“annotation
..
我想测试我的实用程序类ElementUtils,但我不知道如何获得一个类作为一个元素。在AnnotationProcessors中,我通过使用以下代码获得我的元素: 设置 elements = roundEnvironment.getElementsAnnotatedWith(annotation); 但由于RoundEnvironmen
..
我有保留策略=源的注解注释处理器。 我没有想法如何分步调试。 我已经发出打印报表,记录信息,当我运行MVN安装,编译或包或蚂蚁javac和我看到他们sysouts在编译日志中。 不过,我不知道如何分步在Eclipse中调试处理器。我的意思是,你怎么步调试编译时? 解决方案 您必须调用从Eclipse的Java编译器,使用调试配置(您需要手动创建配置,从“调试配置... “菜单
..
我有一个注解的类: 公共类CacheMessageHolder<&的TestMessage GT;实现MessageHolder<&的TestMessage GT; { 保护@MessageHolderType的TestMessage消息; @覆盖 @SendProtoAll(原=“protoMessageClass”,使用MatchType = MatchT
..
激励 我想尝试,如果编译时批注处理适合我的问题。它需要开箱的,没有编译参数等。 当前状态 我有: 注释 注释处理器 包含这两个.jar和含
..
我想创建一个注解处理器取代调用 GWT.create 。 通过注释处理器,你必须同时生成类,然后动态地(在运行时)其中的选择,根据上下文(你可以生成一个工厂,以帮助这样做,但你还是必须以某种方式与当前上下文饲料厂,如当前的语言环境)。 - 来源:
..
我知道注解处理器通常用于消耗的注释和反应给他们。但是,我哪里有这种“反应”涉及添加其他注释用例。可这在处理器本身做了什么?如果是这样,怎么样? 解决方案 简短的答案是是,然后你没有任何具体的事情。 注释处理器用于创建新源文件,而不是修改现有的。所以,当你说“添加其他注释”,我猜你的意思是“创造持有注释新类。” 注解处理在回合进行。在每一轮中,
..
我们已经在我们的项目中两个注解,我想基于类的两份名单,收集类中的注解,并创建一个合并输出。 这是可能的只有一个处理器实例?我怎么知道,如果处理器实例与每一个注解类叫什么名字? 解决方案 框架调用 Processor.process 方法只一次(每个轮),并可以访问两个列表在通过传递 RoundEnvironment 参数同一时间。所以,你可以在同一个工艺处理两份名单方法调用。 要做到这
..
我 如何运行注解处理器无需编译使用javac(Java的8不能使用APT)来源是什么? 有可能没有编译所有的文件只运行注释处理任何参数的javac? 我想的javac做的: 只要找到注解的元素,并使用通过定义注释处理器处理它们 -processor 标志 做的不可以编译没有任何注解的源 因为我想这样做Java的8这是不可能的使用apt完成这个任务?或者,也许这是什么?
..
延长当 AbstractProcessor ,有覆盖的init(...)一种可能性,但没有“反其道而行之”的方法,这将以后被称为全部轮进行了处理。 这是一个问题:当你有追加每一轮的相同文件中收集到的信息,你就永远不能关闭文件,因为你永远不会知道什么时候在最后一个圆了。因此,该文件是永远不会关闭,仍然是空的。 使用shutdown钩也不起作用,钩永远不会被调用。 任何想法? 解决方案
..
我 @ColumnMetadata(指数= 1) ... @ColumnMetadata(索引= 2) ... @ColumnMetadata(索引= 3) ... 和我要检查索引号是否使用APT独一无二的。我不知道如何做到这一点。我不明白的教程,一般我有问题在网络上找到的材料。 如何做到这一点?关于APT任何教程/什么? 解决方案 您可能想使用可插拔注解API中,易的工具的继任者。下
..
我处理使用可插拔注释处理API的Java注释。是它在某种程度上可能也处理方法体内部使用的注释吗? 感谢您的帮助。彼得 解决方案 我想,我找到了解决办法。因为我认为,这是不可能与当前的javac。当地的注解只是简单的意见,并不会通过可插入注释处理API进行处理。但也有有趣的努力 JSR308 ,处理支持奇妙的事作为类型 - 参数类型注释变量,局部变量,注释,类型检查和铸造...并因为它看起
..
我想学习如何做一个自定义注解处理器和我被困,试图调试。 我已经成功地运行在调试模式下javac编译器(带有 mvnDebug干净安装)(与别人同注释处理器项目),连接到它的IntelliJ IDEA并使其停止在断点注解处理器。 如果我们有我们的项目是这样一些包,正在就像任何其他类(如无特殊配置或任何东西。) 公共类MyProcessor继承AbstractProcessor {...}
..
我用java注释处理器试验。我能写使用“JavaCompiler的”集成测试(其实我使用“山核桃”的时刻)。我可以运行编译过程,并分析输出。问题:大约半秒,即使没有在我的注解处理器的任何code单一的测试运行。这是太长时间在TDD风格使用它。 嘲讽走的依赖性看起来很辛苦,我(我会模拟出了整个“javax.lang.model.element中的”包)。有人成功编写注释处理器(Java 6中)的单
..
在我们的企业应用程序,我们正在寻求一种动态的方式来收集我们的Java类的数据。我们创建了一个自定义的注释界面( @interface )以名称属性。我们想从所有注解的类收集这些属性的值。 我设法创建一个 AnnotationProcessorFactory 和 AnnotationProcessor 自定义注释。由于我们使用Maven 2,添加以下到的pom.xml 主体工程的插件。 &L
..
我想了Java 7的一个项目,让这种距离的注解处理器警告(定义BindGen和Hibernate JPA modelgen): 警告:支持的源版本“RELEASE_6”从标注处理器的org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor'小于-source“1.7” 这是由 @SupportedSourceVersion(SourceVer
..
我已经创建了一个注解,它适用于DTO和书面一个Java 1.6风格annotationProcessor。我可以看到有annotationProcessor写一个新的源文件,这是不是我想做的事情,我无法看到或了解如何把它修改现有的类(理想情况下只需修改一个字节code)。修改实际上是相当琐碎,我要的处理器做是插入一个新的getter和setter所在的名字来源于被处理的注解的值。 我的注释处理器
..
的
..
我试图从Java注解处理器中访问一个类型的实际原始出处code。这可能不知?谢谢! 解决方案 我有一个问题,我必须访问一些源$ C $ C(初始化code为非字符串/非基本不变)得到它经由编译器树访问源$ C $ C解决API 。 这里的通用配方: 1。创建自定义TreePathScanner: 私有静态类codeAnalyzerTreeScanner延伸TreePathSc
..
我想基于以下链接的例子做一些注释处理:的http://www.zdnetasia.com/writing-and-processing-custom-annotations-part-3-39362483.htm. 不过,我想在我的Android项目来实现这一点,似乎我不能与Android平台使用的软件包。我是否需要添加一个外部罐子或者是有什么我失踪? 感谢。 解决方案 的 j
..