我试图通过gradle创建多个启动脚本文件.但不知何故,一个特定的启动脚本文件正在重复.
startScripts.enabled = false
run.enabled = false
def createScript(project,mainClass,name) {
project.tasks.create(name: name,type: CreateStartScripts) {
outputDir = new File(project.buildDir,'scripts')
mainClassName = mainClass
applicationName = name
classpath = jar.outputs.files + project.configurations.runtime
doLast {
def windowsScriptFile = file getwindowsScript()
def unixScriptFile = file getUnixScript()
windowsScriptFile.text = windowsScriptFile.text.replace('%APP_HOME%\\lib\\conf','%APP_HOME%\\conf')
unixScriptFile.text = unixScriptFile.text.replace('$APP_HOME/lib/conf','$APP_HOME/conf')
}
}
project.tasks[name].dependsOn(project.jar)
project.applicationdistribution.with {
into("bin") {
from(project.tasks[name])
fileMode = 0755
}
}
}
// Call this for each Main class you want to expose with an app script
createScript(project,'com.main.A','A')
createScript(project,'com.main.B','B')
在bin目录中我可以看到,
> A.sh
> A.sh
> A.bat
> A.bat
> B.sh
> B.bat
谢谢你的帮助.
最佳答案
我解决了这个问题.实际上这是我身边的错误,感谢@Opal.我不知道忘了从标题中删除’mainClassName =“com.main.A”’行.
我还要补充一下
distZip {
duplicatesstrategy = 'exclude'
}
原文地址:https://www.jb51.cc/java/437223.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。