我正在向 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 进行定制,则进行部署。
谢谢, 卡提克