2016-04-21 11 views
1
nicht finden

Ich habe eine Fehlermeldung, wenn ich versuchte, eine benutzerdefinierte Methode in build.gradle aufzurufen.Kann benutzerdefinierte Methode in build.gradle mit MissingMethodException

In build.gradle Datei:

def func() { 
    String str = "hello world!" 
    str 
} 

buildscript { 
    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     String str = func() 
     println "$str" 

     ...... // Other code 
    } 
} 

Der Fehler ich habe ist wie folgt:

Caused by: org.gradle.api.internal.MissingMethodException: Could not find method func() for arguments [] on org.gradle.api.interna[email protected]1c86d7b4. 

Antwort

1

Alles Einsicht der buildscript {} Verschlüsse haben einen anderen Rahmen. Ich bin ein grooviger Noop und kann nicht wirklich erklären warum - vielleicht kann jemand das hinzufügen. Aber was Sie tun können, um Ihr Ziel zu erreichen, ist func innerhalb buildscript zu definieren:

buildscript { 
    func = { 
     String str = "hello world!" 
     str 
    } 

    dependencies { 
     str = func() 
     println "$str" 
    } 
    repositories { 
     mavenCentral() 
    } 
} 
Verwandte Themen