maven - 将Maven资源转换为Gradle资源

标签 maven gradle resources

我们正在从Maven迁移到Gradle,而我在下面的问题上受困。在当前的pom.xml中,我们具有以下内容:

<resources>
     <resource>
         <targetPath>deploy/config/directory1</targetPath>
         <directory>config/directory1</directory>
     </resource>
     <resource>
         <targetPath>deploy/config/directory2</targetPath>
         <directory>config/directory2</directory>
     </resource>
     <resource>
         <targetPath>deploy/scripts</targetPath>
         <directory>scripts</directory>
     </resource>

我们有一个单元测试
getClass().getResource("/deploy/config/directory1/somefile.txt")

我不想更改pom.xml,因为出于部署原因需要该结构,直到我们完全迁移到Gradle为止。我正在尝试做等效的事情而没有太大的成功:
sourceSets {
    main {
        java {
            srcDirs 'src'
         }
        resources {
            srcDirs = [
                "config/directory1",
                "config/directory2",
                "scripts",
 ]
 // output.resourcesDir = "$buildDir/deploy"
 }
}

对此有一些问题:
1.将config / directory1和config / directory2中的文件复制到资源文件夹的根位置。我想保持结构不变,因此在资源目录下只有一个配置目录,然后配置目录将具有directory1和directory2。
2.我可以如图所示设置output.resourcesDir,这意味着我必须将Java代码更改为
getClass().getResource("somefile.txt") 

这是我必须避免的。

谢谢

最佳答案

解决方案是:

processResources {
   from("scripts") {
      into("deploy/scripts")
   }
   from("config/directory1") {
      into("deploy/config/directory1")
   }
   // etc
}

在gradle论坛上从Sterling回答我们,这里https://discuss.gradle.org/t/converting-maven-resources-to-gradle-resources/16447/2?u=domcc

关于maven - 将Maven资源转换为Gradle资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36588998/

相关文章:

java - 如何将参数从 shell 脚本传递给 maven

java - 尝试与 Bamboo 一起运行时,Selenium 测试挂起

android - 如何在一个项目中为少数应用创建 flavor

java - 如何使用 slf4j 登录公共(public)共享库?

java - 尝试安装 WebGraph 来运行类(class)

android - ionic 构建错误 : Could not resolve com. android.tools.build :gradle:1. 5.0

gradle - Rubyists的 Gradle ……相当于 `bundle install`

java - jar 中的类路径资源

delphi - 不使用 ExtractIconEx 从 EXE 中提取所有图标

c# - Resharper 中的提示可能不正确 "Possible ' System.NullReferenceException'"