如何将Spring/Gradle项目类路径设置为拾取配置XML文件



我有一个简单的基于Gradle的Web服务项目,结构:

UserSettingController
  src/main/java
    com.ui.usersetting.datamodel
    com.ui.usersetting.restinterface
    com.ui.usersetting.UserSettingController
  resources
    resources_deployment1
       spring-resource1.xml
    resources_deployment2
    ...

com.ui.usersetting.datamodel中有一个@Autowired JDBCtemplate变量该定义出现在resource/resources_deployment1/spring-resource1.xml中。com.ui.usersetting.datamodel中也有一个@configuration文件包含 @ImportResource("classpath:spring-resource1.xml")

这构建并部署还可以,但是当我击中一个定义的端点之一时 com.ui.usersetting.restinterface,我从春季出现以下错误:

class path resource [spring-resource1.xml] cannot be opened because it does not exist

我认为这意味着UserSettingController/resources/resources_deployment1/,包含 spring-resource1.xml的其中不出现在类路径上。我试过了通过在Eclipse中设置类路径来解决此问题,但是由于我使用gradle构建命令行命令而不是日食,此修复程序不起作用。

我需要维护上述结构,而不是移动spring-resource1.xmlsrc/main/resources,与我们小组中的其他项目保持一致。所以,我如何让春天在正确的位置查看spring-resourc1.xml

只需在sourceSets中添加额外的resources文件夹即可。假设您有3个resources_deployment文件夹:

sourceSets {
    main {
        resources {
            (1..3).each {
                srcDir "resources/resources_deployment$it"
            }
        }
    }
} 

最新更新