2016-03-24 18 views
2

Groovy'de çalıştırılan komut dosyasının adını nasıl alabilirim?Kod adı Groovy'de nasıl edinilir

Bu bir komut satırı bağımsız değişkeni değildir ve dolayısıyla dizgisi dizininin herhangi bir yardımı yoktur.

cevap

6

Mevcut komut dosyasını aşağıdaki gibi alabilirsiniz.

def scriptName = this.class.getName() 
println "Script FQCN : " + scriptName 

Onun paket adıyla senaryonun adını (A Sınıfı başka bir şey olan) çıktısını olacak - FQCN (Tam Sınıfı Adını). Benim için itsraghz 'ın cevabı çalışmıyor bu yüzden

sadece komut adı ve DEĞİL paketi isterseniz,

println "Script Simple Name : " + this.class.getSimpleName() 
1

kullanabilirsiniz ben bir destek sınıfında komut bir sürü için yapıyoruz.

Bu.class veya getClass() komut dosyası tarafından desteklenen bir destek sınıfından kullanırsanız, komut dosyasının adı değil, destek sınıfının adını alırsınız. Kullandığım her defasında komut dosyasının adını almak için:

// Get the executed script as a (java) File 
File scriptFile = new File(getClass().protectionDomain.codeSource.location.path) 

// This holds the file name like "myscript.groovy" 
def scriptName = scriptFile.getName() 

// strip the extension to get "myscript" 
def withoutExt = scriptName.take(scriptName.lastIndexOf('.')) 
İlgili konular