我的应用程序被打包为ear,并且我使用了earlib 和部署配置。然而,对于所有这些依赖项,版本都会在 jar 名称中提及。例如,如果我提到如下依赖项,
earlib 'com.xyz:abc:1.0.1'
Run Code Online (Sandbox Code Playgroud)
在生成的ear中,我可以看到jar名称为abc-1.0.1.jar,但我想将其简单地包含为abc.jar。
Gradle 允许您声明没有版本的依赖项,但您必须定义依赖项约束,这基本上是依赖项版本的定义。这在大型项目中常用:
dependencies {
implementation 'org.springframework:spring-web'
}
dependencies {
constraints {
implementation 'org.springframework:spring-web:5.0.2.RELEASE'
}
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用加号运算符声明动态版本。这允许您在打包应用程序时使用依赖项的最新版本。这样做有潜在的危险,因为它有破坏应用程序的风险:
apply plugin: 'java-library'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework:spring-web:5.+'
}
Run Code Online (Sandbox Code Playgroud)
如果您根本不想依赖二进制存储库,而是自己提供依赖项,则可以从目录和中声明文件依赖项。这允许您根据需要命名和版本依赖项,但您必须自己维护它们:antlibstools
configurations {
antContrib
externalLibs
deploymentTools
}
dependencies {
antContrib files('ant/antcontrib.jar')
externalLibs files('libs/commons-lang.jar', 'libs/log4j.jar')
deploymentTools fileTree(dir: 'tools', include: '*.exe')
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6049 次 |
| 最近记录: |