有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Gradle:排除子项目中创建jar的文件

我有一个多模块的项目。结构如下

root-project
------------
├── project-A
│   └── src
│       └── main
│           └── resources
│               └── myFile.xml
├── project-B
│   └── src
│       └── main
│           └── resources
│               └── myFile.xml
└── project-shared
    └── src
        └── main
            └── resources
                └── myFile.xml

(“:project-A”)取决于(“:project-shared”)和(“:project-B”)
我的问题是当我构建(':project-A')

我的文件中有一个filtertocken(用来替换版本号)。xml。所以我需要我的文件。project-A下的xml将位于project-A.jar文件中。但不幸的是project-A.jar包含myFile。来自项目共享的xml。我试图删除我的文件。来自project-shared的xml,然后在构建project-A时,project-ajar包含myFile。来自project-B的xml

我需要我的文件。无论何时构建project-A.jar中的xml文件。 有办法吗

代码如下:

processResources() {
    java.lang.String version        = project.version
    filter(ReplaceTokens, tokens: ['VERSION': version])
}

dependencies { 
compile project(':project-shared')
compile project(':project-B')
...
...
}

//Tried different ideas..
tasks['compileJava'].dependsOn      += [processResources]
tasks['installHost'].dependsOn      += [processResources]
tasks['jar'].dependsOn              += [processResources]

在构建project-A时,是否有方法排除以下文件
1.project-B/src/main/resources/myFile。xml
2.项目共享/src/main/resources/myFile。xml
或仅保留project-A/src/main/resources/myFile。xml始终位于project-A.jar中


共 (0) 个答案