java - 从 gradle 项目中生成可执行文件
问题描述
我有一个 gradle 项目,它检查 java 代码并从中制作类图。我有一个单行 shell 脚本,它使用命令行参数运行 gradle,用于源文件的位置和图像的输出名称。
如果有人下载了我的项目,他们可以通过./myprogram.sh arg1 arg2
在命令行输入来运行 shell 脚本。
我希望有人能够下载我的项目并通过键入在命令行上运行它myprogram arg1 arg2
。
如何通过 gradle 项目来做到这一点?
解决方案
您应该查看 Gradle 的Distribution Plugin。它允许您创建程序的分发,这是一个包含 JAR 文件和 init 脚本的 ZIP 文件,当添加到系统中时PATH
,您可以按照需要运行程序。Gradle 文档非常详尽。要点是确保你的plugins
块中有这个:
plugins {
id 'java'
id 'application'
}
假设您的主类已使用 Gradle 正确配置:
application {
mainClassName = 'your.main.Class'
}
您可以运行gradle distZip
以生成分发(它将在distributions/
您的构建目录的文件夹中)。然后,您的用户可以将其提取到他们选择的位置并将bin/
目录添加到他们的系统中PATH
。要自定义命令的名称:
startScripts {
applicationName = 'myprogram'
}
推荐阅读
- sql - TSQL-将日期拆分为月份
- php - 在 While 循环中将值从一个 PHP 页面传递到另一个而不影响 URL
- python - 字段“person_id”需要一个数字但得到“”
- formula - 在 NetSuite 保存的搜索中删除 http:// 或 https:// 和尾随 /
- npm - 如何从 node_modules 文件夹升级单个文件而不是升级整个包
- node.js - app.use 是处理快速表单数据的最佳实践吗?
- javascript - 检测外部链接何时完成加载
- python - 如何在 Python 调试器(PyCharm)中执行 n 步(迭代)?
- javascript - 应用程序投入生产后,如何在本地主机上运行开发 http 服务器并使用 Google OAuth 2 进行身份验证?
- python - 涉及 API、数据库和可视化包的项目