Ear 插件 (未完成)

2018-07-01 17:26 更新

Ear插件添加了對(duì)組裝Web應(yīng)用程序EAR文件的支持。 它將添加默認(rèn)EAR文件生成任務(wù)。 它不需要Java插件,對(duì)于使用Java插件的項(xiàng)目,它會(huì)禁用默認(rèn)的JAR文件生成。

51.1.使用

使用ear插件需要在構(gòu)建腳本下包括以下內(nèi)容

例51.1.使用ear插件

build.gradle

apply plugin 'ear'

51.2.任務(wù)

War插件會(huì)添加下列任務(wù)到項(xiàng)目.

表51.2.War插件-任務(wù)

任務(wù)名依賴于類型描述
earcompile (僅在java插件存在時(shí))Ear組裝應(yīng)用程序Ear文件

Ear插件由其他已存在的插件添加下列依賴任務(wù).

表51.2.Ear插件-附加的依賴任務(wù)

任務(wù)名依賴于
assembleear

51.3.項(xiàng)目布局

表25.3.Ear插件-項(xiàng)目布局

文件夾含義
src/main/applicationEar資源,比如META-INF目錄

51.4.依賴管理

Ear插件添加了兩個(gè)依賴配置:deploy和earlib。 deploy中的所有依賴關(guān)系都放在EAR存檔的根目錄中,并且是不可傳遞的(not transitive)。 earlib配置中的所有依賴關(guān)系都放在EAR存檔中的'lib'目錄中,并且是可傳遞的(transitive)。

51.5.常用配置

表51.4.Ear插件-目錄配置

屬性名稱類型默認(rèn)值描述
appDirNameStringsrc/main/application應(yīng)用的資源文件夾,為與項(xiàng)目的相對(duì)路徑
libDirNameStringlib生成的ear文件中l(wèi)ib目錄的名字
deploymentDescriptororg.gradle.plugins.ear.descriptor.DeploymentDescriptor在一個(gè)默認(rèn)的構(gòu)部署配置文件里:application.xml生成部署描述符文件的元數(shù)據(jù),例如 application.xml。 如果此文件已存在于appDirName / META-INF中,則將使用現(xiàn)有文件內(nèi)容,并忽略ear.deploymentDescriptor中的顯式配置。

這些屬性由一個(gè)EarPluginConvention公共對(duì)象提供

51.6.Ear

War任務(wù)默認(rèn)會(huì)把src/main/application的內(nèi)容復(fù)制到歸檔目錄的根目錄。如果配置文件META-INF/application.xml不存在,它將被自動(dòng)生成。

API文檔中有更多關(guān)于Ear的信息.

51.7.定制Ear

下面的例子中有一些重要的自定義選項(xiàng)

例25.2.定制Ear插件

build.gradle

pply plugin: 'ear'
apply plugin: 'java'

repositories { mavenCentral() }

dependencies {
    // The following dependencies will be the ear modules and
    // will be placed in the ear root
    deploy project(path: ':war', configuration: 'archives')

    // The following dependencies will become ear libs and will
    // be placed in a dir configured via the 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
    // put dependent libraries into APP-INF/lib inside the generated EAR
    libDirName 'APP-INF/lib'
    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
        // defaults to project.description if not set
        description = "My customized EAR for the Gradle documentation"
//      libraryDirectory = "APP-INF/lib"  // not needed, above libDirName setting does this
//      module("my.jar", "java")  // won't deploy as my.jar isn't deploy dependency
//      webModule("my.war", "/")  // won't deploy as my.war isn't 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ù)提供的自定義選項(xiàng),如from和metaInf.

51.8.使用自定義的配置文件

-/-/-/-/-//-/-/-/--/-/-/-/-/-當(dāng)前進(jìn)度↑↑-/-/-/-/-/--/-/-/-/-/-/-/-/-/


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)