使用 Gradle 在清单中添加类路径

新手上路,请多包涵

我希望我的 Gradle 构建脚本将完整的类路径添加到构建后创建的 JAR 文件中包含的清单文件中。

例子:

 Manifest-Version: 1.0
Class-Path: MyProject.jar SomeLibrary.jar AnotherLib.jar

我的构建脚本已经通过这种方式向清单添加了一些信息:

 jar {
    manifest {
        attributes("Implementation-Title": project.name,
            "Implementation-Version": version,
            "Main-Class": mainClassName,
    }
}

如何获取要添加到清单的依赖项列表?


Java 教程的这一页更详细地描述了如何以及为什么将类路径添加到清单中: 将类添加到 JAR 文件的类路径

原文由 Paolo Fulgoni 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 450
2 个回答

在最新版本的 gradle 中, compileruntime 已弃用。相反,使用 runtimeClasspath 如下:

 'Class-Path': configurations.runtimeClasspath.files.collect { it.getName() }.join(' ')


编辑:

请注意,如果您使用的是 Kotlin DSL,则可以按如下方式配置清单:

 configure<JavaPluginConvention> {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
    manifest {
        attributes(
                "Manifest-Version" to "1.0",
                "Main-Class" to "io.fouad.AppLauncher")
    }
}

 tasks.withType(Jar::class) {
    manifest {
        attributes["Manifest-Version"] = "1.0"
        attributes["Main-Class"] = "io.fouad.AppLauncher"
    }
}

原文由 Eng.Fouad 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题