我有一个遗留的WebApp项目,由许多遗留模块和一些新模块组成。我正在努力将现有项目迁移到基于Gradle的构建,而不用更改文件夹结构(至少目前为止)。
模块结构非常扁平,如下所示:
project-root
|-- module1
|-- module2
|-- module3
|-- module4
|-- newModule (newly added!)
| |-- sub1
| |-- sub2
现在让我们说module1
和module2
需要部署在WAR文件中,比如说war1.war
,module3
和module4
在另一个WAR文件中,说war2.war
,最后newModule:sub1
和newModule:sub2
将被部署为两个独立的应用程序。
现在我正在讨论如何创建这些工件。我是否应该为每个工件分别设置一个额外的war模块,即一个用于war1
而另一个用于war2
?或者我应该在根项目中有两个任务?如果是这样,我如何使用war插件生成许多不同的工件?或者我应该选择一个模块作为两个工件的主机,即module1
构建war1
和module3
构建war2
或类似的东西?或者最后我应该重新组织项目(我正在努力避免这样做):
project-root
|-- war1
| |-- module1
| |-- module2
|-- war2
| |-- module3
| |-- module4
|-- newModule
| |-- sub1
| |-- sub2
答案 0 :(得分:1)
我建议你:
project-root
|-- module1 - apply plugin: 'jar'
|-- module2 - apply plugin: 'jar'
|-- module3 - apply plugin: 'jar'
|-- module4 - apply plugin: 'jar'
|-- newModule (newly added!)
| |-- sub1
| |-- sub2
|-- war1 - apply plugin: 'war'
| dependencies {
| compile project(':module1')
| compile project(':module2')
| }
|-- war2 - apply plugin: 'war'
| dependencies {
| compile project(':module3')
| compile project(':module4')
| }
war1和war2仅仅是build.gradle的容器,我建议你使用这些设置。你怎么看?