作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
执行gradle应用程序插件的installDist
任务创建一个目录build/install/<em>my-application-name</em>/bin
包含包装器脚本, my-application-name
和 <em>my-application-name</em>.bat
。运行这些脚本中的任何一个都会运行应用程序,并且传递给这些脚本的参数将传递给底层应用程序。
在 UNIX shell 脚本中,您可以访问用于执行程序的名称 $0
。事实上,UNIX版本的gradle生成的启动脚本使用 $0
多次。
如何配置 gradle 应用程序插件,以便这些脚本将传递 $0
的值(以及 Windows 上的任何 Windows 等效项)到底层应用程序中,也许作为 Java 系统属性?
最佳答案
由于用于获取正在运行的脚本名称的参数在 Linux($0
) 和 Windows(%0
) 中的引用方式不同,因此最直接的生成方法自定义脚本将针对各自的start script generators使用单独的自定义模板。 :
startScripts {
unixStartScriptGenerator.template = resources.text.fromFile('unixStartScript.txt')
windowsStartScriptGenerator.template = resources.text.fromFile('windowsStartScript.txt')
}
默认模板很容易通过调用获得,例如unixStartScriptGenerator.template.asString()
可以找到有关自定义启动脚本的文档 here .
关于java - 在gradle的应用程序插件生成的启动脚本中,如何将程序名称传递给应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48307027/
我是一名优秀的程序员,十分优秀!