加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

无法运行java注释处理器

发布时间:2020-05-24 12:51:31 所属栏目:Java 来源:互联网
导读:我从命令行运行我的注释处理器时遇到麻烦. 问题是它适用于 Windows环境,但不适用于我的 Linux安装. 我的处理器位于jar文件(meta-validator.jar)中.我还添加了META-INF / services / javax.annotation.processing.Processor的条目,其中包含我的处理器类的完全

我从命令行运行我的注释处理器时遇到麻烦.
问题是它适用于 Windows环境,但不适用于我的 Linux安装.

我的处理器位于jar文件(meta-validator.jar)中.我还添加了META-INF / services / javax.annotation.processing.Processor的条目,其中包含我的处理器类的完全限定名称.

我试图用这个命令调用注释处理器:

javac -cp "./metadata-validator.jar; ... (path to annotations.jar etc.)" -processor xammt.validator.modules.ValidatorModule -proc:only " ... path to sources"

在Windows环境中它可以正常工作(Windows 7 64位Pro,JDK 1.7.xx),找到处理器并执行处理方法.

在我的linux环境中(Linux Mint 13 32bit – >基本上是Ubuntu 12.04,Oracle JDK 1.7)我收到消息:

error: Annotation processor 'xammt.validator.modules.ValidatorModule' not found
warning: Annotation processing without compilation requested but no processors were found.

也没有处理器开关我得到相同的警告(与其他详细的东西).

什么可能导致这个问题?我想我的linux机器上的JDK安装正确,因为我能够毫无问题地运行/编译java应用程序.

谢谢你的建议.

编辑:我仍然不知道为什么这不起作用.有趣的是,它以编程方式工作 – 我设法通过Java编译器API调用我的注释处理器没有问题(在两个平台上),这也是因为调试更好的解决方案.

EDIT2:
实际命令:

javac -cp "./metadata-validator.jar;./lib/common-library.jar;./Annotation source.jar" 
-processor xammt.validator.modules.ValidatorModule -proc:only "SourceFile.java"

解决了:
检查http://en.wikipedia.org/wiki/Classpath_(Java)#OS_specific_notes

解决方法

在Linux上你是使用冒号而不是分号作为类路径分隔符?包括您正在执行的Linux命令.

将分号更改为类路径中的冒号,它应该可以工作.

像这样:

javac -cp "./metadata-validator.jar:./lib/common-library.jar:./Annotation source.jar" -processor xammt.validator.modules.ValidatorModule -proc:only "SourceFile.java"

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读