草庐IT

annotation-processing

全部标签

java - "@annotations must be on separate line"的 Checkstyle 规则

我正在尝试为checkstyle创建一个规则,它将阻止编写内联注释用法,如下所示:@EntityMyClasssomeEntity;@Foo(a="B")publicvoidbar(Bazbaz){}但不会阻止这样的想法:publicvoidbar(@ParamBazbaz){}有什么办法可以实现吗? 最佳答案 这个答案的大部分灵感来自Checkstyle's"WritingChecks"article.大部分工作在AnnotationSameLineCheck中完成。AnnotationSameLineCheck.java此Jav

java - 如果 Annotation 是一个接口(interface),那么它如何扩展一个 Object 类?

我们将注解定义为接口(interface),如下所示@interfaceannot_name{}而且我们知道所有注解都默认扩展接口(interface)java.lang.annotation.Annotation。当我检查java库中的Annotation接口(interface)时,我发现它覆盖了Object类的许多方法,如hashCode()等。如果Annotation是一个接口(interface),那么它如何扩展一个Object类并覆盖它的方法呢?接口(interface)只能扩展其他接口(interface)而不能扩展类。 最佳答案

java - 无法使用 Apache Ivy 获取 Hibernate Core 和 Hibernate Annotations(但它也与 Maven2 相关。)

好长!;-)这个问题中有很多复制粘贴的文本,看起来很像复杂。老实说,这是很多信息!然而,对于有经验的人来说,其中很多内容可能是不必要的并且很容易略过。本质上我只是想知道为什么我的基本HibernateCore+HibernateAnnotations测试项目不起作用。我怀疑失踪依赖项,但我使用的是ApacheIvy,我认为它可以传递依赖项自动从Maven2存储库ibiblio中获取,但显然缺少依赖项(请参阅有关依赖项的帖子下方的标题)。我的测试项目我有一个小测试项目:hibernate.cfg.xmlcom.mysql.jdbc.Driverjdbc:mysql://localhost

java - @Generated Annotation,我们如何使用它?

我最近读了一篇关于Java注释的文章,后者是关于@Generated的。据说是用来自动生成代码的。有人可以通过一个小例子进一步向我解释吗?我在网上找到的所有内容都是一些专业问题或超出我正在寻找的问题。 最佳答案 根据JavaDoc:TheGeneratedannoationisusedtomarksourcecodethathasbeengenerated.Itcanalsobeusedtodifferentiateuserwrittencodefromgeneratedcodeinasinglefile.

java - 由于 java.lang.NoClassDefFoundError : com/fasterxml/jackson/annotation/JsonMerge 无法运行代码

我在IntellijIdea2018社区版有一些测试代码,有多个pom文件。当我运行任何带testng注释的测试时,我收到一条错误消息,提示“未找到任何测试”。看起来问题是由于异常堆栈跟踪的这一部分引起的:java.lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge我在谷歌上搜索了一个解决方案并找到了这个-https://github.com/FasterXML/jackson-annotations/issues/119还有这个https://stackoverflow.com/a/46406070

java - 缺少依赖项 'class javax.annotation.Nullable'

我试图在我正在开发的Scala程序中使用Atlassian提供的jira-rest-java-client。我使用Eclipse作为我的IDE。当我有一个Issue类型的对象并尝试查看其属性时,我看到的属性比Java代码中声明的要少得多。我想也许这只是Eclipse没有找到对象的所有属性/方法,所以我尝试放置Issue.getSummary()并进行sbt编译。编译向我显示了这个错误:Missingdependency'classjavax.annotation.Nullable'有什么想法吗? 最佳答案 我在googlecode上

java - 使用@RunWith Annotation 和 powerMock 时的问题

最初我在junits中只使用Mockito,所以我在@RunWith注释中使用SpringJUnit4ClassRunner.classie@RunWith(SpringJUnit4ClassRunner.class)由于spring依赖注入(inject)工作正常并且正在通过bean@AutowiredSomeservicesomeservice;但是现在,我也把PowerMock集成进去了。根据doc,我已经用替换了@RunWith注释中提到的类@RunWith(PowerMockRunner.class)但是现在,someservice将变为null。有没有办法在@RunWith

java - jpa 独立自定义类型映射/javax.persistence.x 替代 org.hibernate.annotations.Type 和 org.hibernate.annotations.TypeDef

我在数据库中有一个表GameCycle,它包含number类型的列date。此列中的值是8位数字,表示倒数日期,例如“20130301”。映射到此表上的我有一个类GameCycle,它包含类型为java.util.Date的protected字段iDate。该字段使用自定义类型映射注释为“@Type(type="inverseDate")”。类Gamecycle注释为“@TypeDef(name="inverseDate",typeClass=InverseDateType.class)”importorg.hibernate.annotations.Type;importorg.hi

java - 无法理解需要使 Process.java 抽象

我正在漫不经心地浏览Java核心类的源代码。我发现Process.java文件是一个publicabstract类。当我浏览代码时没有函数有定义。这是否意味着它应该被声明为Interface。是不是有什么故意的原因。谁能帮我理解这种设计的需要。链接到code 最佳答案 Process是抽象的,因为它很可能在每个操作系统上都有不同的实现。应用程序开发人员不实现这个抽象类;它作为Java运行时的一部分实现。由于所有的方法都是抽象的,它本来可以被声明为一个接口(interface),但那样会导致该类在未来无法进化。例如,一旦在公共(pub

java.nio.文件.FileSystemException : The process cannot access the file because it is being used by another process

我正在编写一个程序,在第一次执行时将自己复制到特定文件夹,在linux或windows中工作。在linux中它工作得很好但是当我尝试在windows上做同样的事情时我得到以下错误:java.nio.file.FileSystemException:Theprocesscannotaccessthefilebecauseitisbeingusedbyanotherprocess(insun.nio.fs.WindowsException)那么,另一个进程是程序本身,我应该用什么来跳过这个错误呢?我的代码行是:publicvoidinstallProgram(){System.out.pr