java - 在WEB-INF/classes下具有已编译类的Gradle WAR

标签 java gradle build.gradle war

我正在尝试将旧版Java Webapp项目移植到gradle中。
这是我的build.gradle的片段

def customBuildPath = 'build/classes'

war {
    from(customBuildPath) {
        into 'WEB-INF/classes'
    }

    from('WebContent') {
        include 'Web/**/*'
        into ''
    }
}

dependencies {
  
    compile fileTree(dir: 'projectlibs/lib', include:'*.jar')
    compile fileTree(dir: 'build/classes', include:'**')
}
为了维护自定义结构,我想将我的所有*.class文件都放在WEB-INF/classes下,并且它可以工作,但是我也在*.class下找到相同的WEB-INF/lib文件。
我的目标是将jar和类保存在单独的war文件夹中。
有什么想法吗?
编辑:将dependencies{}添加到build.gradle代码段。

最佳答案

通过从依赖项中注释掉已构建的类来解决问题:

def customBuildPath = 'build/classes'

war {
    from(customBuildPath) {
        into 'WEB-INF/classes'
    }

    from('WebContent') {
        include 'Web/**/*'
        into ''
    }
}

dependencies {
  
    compile fileTree(dir: 'projectlibs/lib', include:'*.jar')
//    compile fileTree(dir: 'build/classes', include:'**')
}

关于java - 在WEB-INF/classes下具有已编译类的Gradle WAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64736060/

相关文章:

android - Gradle 构建但不运行 android 项目

java - 是否可以使用 jtextfield 和 Jlist 进行自动完成?

java - 将多个对象添加到 Java 窗口的北部分

android - Android:使用不同的资源集构建项目

安卓工作室 : Failure [INSTALL_FAILED_USER_RESTRICTED]

java - 如何解决android中的lint-gradle错误?

java - jOOQ - 没有 where() 的 return() 不可用

java - 普通旧 Java 对象 (POJO) 是什么意思?

Gradle 6、Gradle TestKit 和 DuplicatesStrategy.INCLUDE 警告

android - 如何在 build.gradle 的 buildType 中获得 flavor ?