加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 01:04:14 所属栏目:Java 来源:网络整理
导读:我试图通过gradle创建多个启动脚本文件.但不知何故,一个特定的启动脚本文件正在重复. startScripts.enabled = falserun.enabled = falsedef createScript(project,mainClass,name) { project.tasks.create(name: name,type: CreateStartScripts) { outputDir

我试图通过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%libconf','%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'
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读