微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Gradle将重复的启动脚本创建到bin目录中

我试图通过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 举报,一经查实,本站将立刻删除。

相关推荐