5

Birden çok başlangıç ​​komut dosyası dosyalarını gradient yoluyla oluşturmaya çalışıyorum. Ama bir şekilde belirli bir başlangıç ​​betiği dosyası çoğaltılıyor. Görebildiğim bin dizininde Yinelenen kayıt oluşturma bin dizini bin dizinine başlat

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') 

,

  • A.sh
  • A.sh
  • A.bat
  • B.sh
  • A.bat

    B.bat

    Burada ne eksik var? Bunu nasıl düzeltebilirim?

Yardımlarınız için teşekkür ederiz.

+0

eklemek var mıdır var? Ve .. A' betikleri de hazırlayan başka bir görev yok mu? – Opal

+0

@opal Yeah, scriprs aynıdır. Ve benim için başka bir görevim yok. – SRJ

cevap

3

Bu sorunu çözdüm. Aslında benim tarafımdan bir hata oldu ve @Opal sayesinde. Bir şekilde 'mainClassName = "com.main.A" satırını başlığından silmeyi unuttum.

Ayrıca ben yinelenenler arasında herhangi bir fark

distZip { 
    duplicatesStrategy = 'exclude' 
} 
İlgili konular