在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網(wǎng)/ Ear 插件
問題反饋
Gradle 插件
Scala 插件
Gradle 命令行的基本使用
任務(wù)詳述
安裝
概述
教程-雜七雜八
構(gòu)建環(huán)境
依賴管理基礎(chǔ)
使用 Gradle 圖形用戶界面
使用文件
CodeNarc 插件
Sonar 插件
Groovy 插件
Sonar Runner 插件
OSGi 插件
Ear 插件
Gradle 守護進程
Java 插件
簡介
構(gòu)建基礎(chǔ)
FindBugs 插件
Groovy 快速入門
JaCoCo 插件
PMD 插件
War 插件
Checkstyle 插件
日志
Java 構(gòu)建入門
Jetty 插件
從 Gradle 中調(diào)用 Ant
標準的 Gradle 插件
Web 工程構(gòu)建
JDepend 插件
編寫構(gòu)建腳本

Ear 插件

Ear 插件添加了用于組裝 web 應(yīng)用程序的 EAR 文件的支持。它添加了一個默認的 EAR archive task。它不需要 Java 插件,但是對于使用了 Java 插件的項目,它將禁用默認的 JAR archive 的生成。

用法

要使用 Ear 的插件,請在構(gòu)建腳本中包含以下語句:

使用 Ear 插件

build.gradle

apply plugin: 'ear'  

Tasks

Ear 插件向 project 中添加了以下任務(wù)。

表 27.1. Ear 插件 - tasks

任務(wù)名稱 依賴于 類型 描述
ear compile(僅在也配置了使用 Java 插件的時候) ear 組裝應(yīng)用程序 EAR 文件。

Ear 插件向基礎(chǔ)插件所加入的 tasks 添加了以下的依賴。

表 27.2. Ear 插件 - 額外的 task 依賴

任務(wù)名稱 依賴于
assemble ear

項目布局

表 27.3. Ear 插件 - 項目布局

目錄 意義
src/main/application Ear 資源,如 META-INF 目錄

依賴管理

Ear 插件添加了兩個依賴配置:deploy和earlib。所有在 deploy 配置中的依賴項都放在 EAR 文件的根目錄中,并且是不可傳遞的。所有在 earlib 配置的依賴都放在 EAR 文件的“l(fā)ib”目錄中,并且是可傳遞的。

公約屬性

表27.4. Ear 插件 ??- 目錄屬性

屬性名稱 類型 默認值 描述
appDirName String src/main/application 相對于項目目錄的應(yīng)用程序源目錄名稱。
libDirName String into(<s2>'libs'</s2>) { 生成的 EAR 文件里的 lib 目錄名稱。
deploymentDescriptor org.gradle.plugins.ear.descriptor.DeploymentDescriptor 部署描述符,它有一個合理的名為application.xml的默認值 用于生成部署描述符文件的元數(shù)據(jù),例如ear.deploymentDescriptor中的顯式配置將被忽略。

這些屬性由一個 EarPluginConvention 公約對象提供。

Ear

Ear task 的默認行為是將 src/main/application 的內(nèi)容復(fù)制到 archive 的根目錄下。如果你的 application 目錄沒有包含 META-INF/application.xml 部署描述符,那么將會為你生成一個。

另請參閱 Ear。

自定義

下面是一個示例,展示了最重要的自定義選項:

ear 插件的自定義

build.gradle

apply plugin: 'ear'
apply plugin: 'java'
repositories { mavenCentral() }
dependencies {
    //following dependencies will become the ear modules and placed in the ear root
    deploy project(':war')
    //following dependencies will become ear libs and placed in a dir configured via libDirName property
    earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
ear {
    appDirName 'src/main/app'  // use application metadata found in this folder
    libDirName 'APP-INF/lib'  // put dependency libraries into APP-INF/lib inside the generated EAR;
                                // also modify the generated deployment descriptor accordingly
    deploymentDescriptor {  // custom entries for application.xml:
//      fileName = "application.xml"  // same as the default value
//      version = "6"  // same as the default value
        applicationName = "customear"
        initializeInOrder = true
        displayName = "Custom Ear"  // defaults to project.name
        description = "My customized EAR for the Gradle documentation"  // defaults to project.description
//      libraryDirectory = "APP-INF/lib"  // not needed, because setting libDirName above did this for us
//      module("my.jar", "java")  // wouldn't deploy since my.jar isn't a deploy dependency
//      webModule("my.war", "/")  // wouldn't deploy since my.war isn't a deploy dependency
        securityRole "admin"
        securityRole "superadmin"
        withXml { provider -> // add a custom node to the XML
            provider.asNode().appendNode("data-source", "my/data/source")
        }
    }
}  

你還可以使用 Ear 任務(wù)提供的自定義選項,如 from 和 metaInf。

使用自定義的描述符文件

假設(shè)你已經(jīng)有了 application.xml ,并且想要使用它而不是去配置 ear.deploymentDescriptor 代碼段。去把 META-INF/application.xml 放在你的源文件夾里的正確的位置(請查看 appDirName 屬性)。這個已存在的文件的內(nèi)容將會被使用,而 ear.deploymentDescriptor 里的顯示配置則會被忽略。

上一篇:日志下一篇:War 插件