在使用Spring 4 PropertySource时不能find重复
我们使用Spring 4.0.1.RELEASE和jdk6(这是固定的)。 当然,我们已经使用@PropertySource
注释完成了Java中的configuration。 当我们使用gradle编译项目时,会导致一个恼人的警告消息:
org \ springframework \ context \ annotation \ PropertySource.class(org \ springframework \ context \ annotation:PropertySource.class):warning:无法在types“java.lang.annotation.Repeatable”中find注释方法的value():class没有findjava.lang.annotation.Repeatable的文件
这是由于在现有的Repeatable类中没有使用(在jdk6中),我很高兴这只是一个警告。 我喜欢gradle的干净输出,这只是令人讨厌,因为它可能混淆其他“真实”的警告(如checkstyle …)。
也许任何人都面临同样的问题,并得到一个(没有太多黑客)解决这种情况。 我只是想再次看到一个干净的输出。
我认为问题在于,在Spring 4中 ,它们使用@Repeatable
注释,它只在Java 8中引入。
因此,如果你不使用Java 8,你将会继续看到这个问题,至less在这个问题得到解决之前。
顺便说一句 ,这也阻止了在Java 8以前的JDK中使用@Scheduled
注释。我希望它很快就会被修复。
只是为了logging:使用
@PropertySources(@PropertySource("classpath:path/to/config"))
摆脱例外。
学分转到: http : //www.javacodegeeks.com/2013/11/how-to-using-propertysource-annotation-in-spring-4-with-java-7.html
我想如果你只是想摆脱警告,你可以用自定义logging器来实现这一点: http : //www.gradle.org/docs/current/userguide/logging.html
我会检查当前的实现,并将其包装在一些过滤出您要忽略的警告,转发一切不变。
摆脱Java 8下的警告的解决方法是使用下面的方法,而不是@Scheduled注释:
@PostConstruct public void setupTaskScheduler() throws FileNotFoundException { taskScheduler = new ConcurrentTaskScheduler(); taskScheduler.schedule(new Runnable(...), new CronTrigger("0 0 * * * *")); }
- 将char 转换为byte
- Java List.add()UnsupportedOperationException
- 我应该如何逃避CSV文件中的逗号和语音标记,以便在Excel中工作?
- 使用Java解密openssl aes-256-cbc使用提供的密钥和iv
- 在java中,Comparable.compareTo的返回值是什么意思?
- 如何将string数组的元素添加到string数组列表?
- 使用JDK工具从.NET 2.0应用程序生成的WSDL生成Java SOAP Web服务客户端时出现问题
- 如何为Spring Boot Controller端点编写unit testing
- 什么是Java中的string池?