首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格雷德尔耳朵放的是罐子而不是战争

格雷德尔耳朵放的是罐子而不是战争
EN

Stack Overflow用户
提问于 2013-03-12 12:04:18
回答 2查看 10.3K关注 0票数 22

我正在尝试使用Gradle构建一个ear

我的项目树就像:

代码语言:javascript
复制
/project
|
|--> /web-application
|    |
|    |--> /src (stuff of web app)
|    |
|    |--> build.gradle
|
|--> build-gradle
|--> settings.gradle

我试图使用ear插件生成ear,但是当我使用gradle assemble时,会在web应用程序的构建目录下创建war,但是在生成的ear中,我有一个web应用程序的jar。gradle配置文件非常简单,如下所示:

项目/build.gradle

代码语言:javascript
复制
apply plugin: 'ear'

repositories {
    mavenCentral()
}

dependencies {
    deploy project(':web-application')
    earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}

项目/网络-应用程序/build.gradle

代码语言:javascript
复制
apply plugin: 'war'

repositories {
   mavenCentral()
}

dependencies {
    compile group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}

我做错了什么?

我注意到,战争插件的捆绑样本也有同样的问题.提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-12 13:51:15

解决了!

它需要将EAR项目中的WAR模块配置为:

代码语言:javascript
复制
dependencies {
    deploy project(path:':web-application', configuration:'archives')
    earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
票数 33
EN

Stack Overflow用户

发布于 2016-12-23 06:38:41

您可以避免使用以下内容为每个部署依赖项指定配置:

代码语言:javascript
复制
allprojects {
  plugins.withType(WarPlugin) {
    // Set default configuration as WAR archive if WAR plugin is used
    configurations {
      'default' {
        extendsFrom = [archives]
      }
    }
  }
}

...

dependencies {
  deploy project(':web-application')
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15360703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档