首页 文章

将jar项目打包为战争项目(Gradle)

提问于
浏览
2

我有一个Gradle项目,它包含3个模块:

  • project-core (无依赖关系)

  • project-web (取决于 project-core

  • project-plugin (取决于两个模块)

我不想在每次进行WAR时手动将插件添加到 project-web 的类路径中,所以我想扩展WAR任务并创建一个"warWithPlugin"任务,它也会将插件jar添加到libs文件夹中 .

显然我不能添加 project-plugin 作为依赖项,因为我得到循环依赖 . 我还有什么其他选择来将插件jar打包到WAR中?

1 回答

  • 1

    当然,您可以使用 project-plugin 作为依赖项创建新配置,然后将该配置添加到 WEB-INF/lib 目录中 .

    configurations {
        plugin
    }
    
    dependencies {
        plugin project(':plugin')
    }
    
    war {
        into('WEB-INF/lib') {
            duplicatesStrategy 'exclude'
            from configurations.plugin
        }
    }
    

相关问题