我第一次尝试使用Gradle.我正在尝试使用maven java项目来编译和创建一个jar文件.它正在build/libs目录中编译和创建jar文件
trunk -XXXVERSION-SNAPSHOT.jar
我正在从这个maven java项目的trunk目录运行gradle构建文件.
我想在jar文件名中获取项目名称(例如:project1),类似于
project1 -XXXVERSION-SNAPSHOT.jar
在build/libs目录中.请建议.
Art*_*wak 96
尝试设置:
archivesBaseName = 'project1'
Run Code Online (Sandbox Code Playgroud)
要么
jar.baseName = 'project1'
Run Code Online (Sandbox Code Playgroud)
这是完整的解决方案:
trunk
? build
? libs
? project1-1.0-SNAPSHOT.jar
? build.gradle
Run Code Online (Sandbox Code Playgroud)
build.gradle是:
apply plugin: 'java'
apply plugin: 'maven'
archivesBaseName = 'project1'
version = '1.0-SNAPSHOT'
group = 'example'
Run Code Online (Sandbox Code Playgroud)
它生成正确的ZIP,POM和JAR.
Ren*_*hke 50
默认项目名称取自存储项目的目录.除了明确更改jar的命名外,您应该为构建设置正确的项目名称.目前,这在build.gradle文件中是不可能的.相反,您必须settings.gradle在根目录中创建一个文件.此settings.gradle文件应包含以下一个内容:
rootProject.name = 'project1'
Run Code Online (Sandbox Code Playgroud)
var*_*en_ 16
我最近迁移到gradle 4.6(来自3. something)和
jar {
baseName = 'myjarname'
}
Run Code Online (Sandbox Code Playgroud)
停止工作,gradle从文件夹名称命名我的jar.
所以我切换到archivesBaseName = 'myjarname'哪个工作.
也许这也有助于其他人.
小智 13
如果你有一些submobule,你可以在build.gradle中使用(对于jar)
configurations {
jar.archiveName = 'submodule-jar.jar'
}
Run Code Online (Sandbox Code Playgroud)
mrc*_*htr 11
在 Kotlin DSL 中,您还可以使用:
tasks.jar {
archiveFileName.set("app.jar")
}
Run Code Online (Sandbox Code Playgroud)
使用 Spring Boot 和 Kotlin DSL,您可以使用:
tasks {
bootJar {
archiveFileName.set("app.jar")
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
如果您使用的是较新的 Gradle 版本,baseName,archiveName现在将被弃用。相反,使用类似的东西
jar {
archivesBaseName = 'project1'
archiveVersion = '1.0-SNAPSHOT'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63043 次 |
| 最近记录: |