1

我正在向 MANIFEST.MF 文件和 deplomentDescriptor 添加自定义属性。当我们通过 gradle cli 构建时,它按预期工作,但是当我在 eclipse 中部署到服务器时,它不会生成或部署 MANIFEST.MF 和 application.xml 文件。

摇篮版本:6.5.1

耳模DIR结构

样品EAR

--META-INF
    -MANIFEST.MF
    -application.xml
--build.gradle
--settings.gradle

sampleEAR build.gradle 文件

step-1:参考 META-INF 目录

plugins {
    id 'ear'
    id 'eclipse-wtp'
}
description = "Sample Application"

dependencies{
    deploy fileTree(dir: "../SampleEAR", include: 'core*.jar')
    deploy project(path: ':SampleWeb', configuration: 'archives')
    deploy project(':SampleService')
    earlib project(':SampleModel')
}

ear {
    metaInf {
        from 'META-INF'
        exclude 'MANIFEST.MF'
    }
    manifest {
        attributes('Created-By': "Gradle $gradle.gradleVersion",
             'version': archiveVersion,
          'Built-By': System.getProperty('user.name'),
         )
    }
}

step-2:通过gradle生成application.xml

ear {
    deploymentDescriptor {
        applicationName = 'Sample'
        description = "Generated by Gradle $gradle.gradleVersion"
        displayName = project.name
        webModule("SampleWeb.war", 'Sample')
    }
    manifest {
        attributes('Created-By': "Gradle $gradle.gradleVersion",
            'version': archiveVersion,
            'Built-By': System.getProperty('user.name'),
        )
    }
}

第 3 步:

ear {
    from("META-INF"){
        into("META-INF")
    }
    generateDeploymentDescriptor = false
    manifest {
        attributes('Created-By': "Gradle $gradle.gradleVersion",
            'version': archiveVersion,
            'Built-By': System.getProperty('user.name'),
        )
    }
}

我已经尝试了以上 3 个步骤,它可以通过 cli 正常工作,但不能使用 eclipse IDE。

在 Eclipse 中部署到服务器时,它不会创建 META-INF 内容。我需要来自 src 的 META-INF 内容通过 eclipse 部署到 ear 中,如果通过 manifest attirbutes 或 deplomentDescriptor 进行定制,则进行部署。

谢谢, 卡提克

4

0 回答 0