使用 Spring 4 PropertySource 时找不到可重复性

2022-09-01 03:58:00

我们将Spring 4.0.1.RELEASE与jdk6结合使用(这是固定的)。当然,我们已经在Java中使用了注释来完成配置。当我们使用 gradle 编译项目时,这会导致一个令人讨厌的警告消息:@PropertySource

org\springframework\context\annotation\PropertySource.class(org\springframework\context\annotation:PropertySource.class): 警告: 在类型 'java.lang.annotation.Repeatable' 中找不到 annotat ion 方法 'value()': class file for java.lang.annotation.Repeatable

这是由于使用不是(在jdk6中)现有的可重复类引起的,我很高兴这只是一个警告。我喜欢gradle的干净输出,这很烦人,因为它可能会混淆其他“真实”警告(如checkstyle...)。

也许任何人都面临同样的问题,并得到了一个(不是那么多黑客)解决方案。我只想再次看到干净的输出。


答案 1

我认为问题在于,在Spring 4中,他们使用@Repeatable注释,而注释仅在Java 8中引入。

因此,如果您没有使用Java 8,您将继续看到此问题,至少在此问题得到解决之前。

顺便说一句,这也阻止了在比Java 8更旧的JDK中使用@Scheduled注释。我希望它能很快得到解决。


答案 2

仅用于记录:使用

@PropertySources(@PropertySource("classpath:path/to/config"))

以摆脱异常。

学分去: http://www.javacodegeeks.com/2013/11/how-to-using-propertysource-annotation-in-spring-4-with-java-7.html


推荐