2017-02-22 2 views
1

aufzulösen Ich versuche, ein benutzerdefiniertes Groovy-Plugin von Gradle Build-Datei aufzurufen. Aber ich bekomme den Fehler beim Auflösen der Klassen für ssh. Unten ist die Build-Datei, ein Teil des benutzerdefinierten Groovy-Plugins und der Fehler.nicht in der Lage, ssh Klasse in Gradle.build

build.gradle

plugins { 
    id 'org.sonarqube' version '2.0.1' 
    id 'groovy' 
    id 'org.hidetake.ssh' version'2.7.0' 
} 

dependencies { 
    compile gradleApi() 
    compile localGroovy() 
} 

CustPlugin.groovy

package com.nielsen.gradle 

import org.slf4j.Logger 
import org.slf4j.LoggerFactory 

import java.text.SimpleDateFormat 

import org.gradle.api.Project 
import org.gradle.api.Plugin 
import org.gradle.api.GradleException 
import org.gradle.api.plugins.BasePlugin 
import org.gradle.api.tasks.bundling.Zip 

import org.hidetake.groovy.ssh.Ssh.* 
import org.hidetake.groovy.ssh.core.Service 

import com.nielsen.gradle.cmRegistry.CMRegistryPlugin 

Fehler

C:\Users\528302\Documents\gradle_all\projectf1>gradle build 
:compileJava UP-TO-DATE 
:compileGroovy 
startup failed: 
C:\Users\528302\Documents\gradle_all\projectf1\src\main\groovy\com\nielsen\gradle\CustPlugin.groovy: 14: unable to resolve class org.hidetake.groovy.ssh.Ssh 
@ line 14, column 1. 
    import org.hidetake.groovy.ssh.Ssh 
^

C:\Users\528302\Documents\gradle_all\projectf1\src\main\groovy\com\nielsen\gradle\CustPlugin.groovy: 15: unable to resolve class org.hidetake.groovy.ssh.core.Service 

@ line 15, column 1. 
    import org.hidetake.groovy.ssh.core.Service 
^

C:\Users\528302\Documents\gradle_all\projectf1\src\main\groovy\com\nielsen\gradle\CustPlugin.groovy: 17: unable to resolve class com.nielsen.gradle.cmRegistry.CMRegi 
stryPlugin 
@ line 17, column 1. 
    import com.nielsen.gradle.cmRegistry.CMRegistryPlugin 
^

Bitte helfen Lösung dieses ... Danke.

Antwort

1

Sie mischen zwei Dinge. Mit der plugins { } Schließung fügen Sie Abhängigkeiten für das BuildScript selbst hinzu. Aber in diesem Fall hat der Code, den Sie erstellen, eine Abhängigkeit von einer Bibliothek, nicht vom Buildskript.

Versuchen Sie, die folgenden in dependencies { }

compile group: 'org.hidetake', name: 'groovy-ssh', version: '2.8.0'

, so dass Sie mit

plugins { 
    id 'org.sonarqube' version '2.0.1' 
    id 'groovy' 
    id 'org.hidetake.ssh' version'2.7.0' 
} 

dependencies { 
    compile gradleApi() 
    compile localGroovy() 
    compile group: 'org.hidetake', name: 'groovy-ssh', version: '2.8.0' 
} 
+0

Dank Martin am Ende hinzuzufügen ... Ich habe versucht, aber ich erhalte die follwoing Fehler: * Was ging falsch: Konnte nicht alle Abhängigkeiten für die Konfiguration ': compileClasspath' auflösen. > Externe Abhängigkeit kann nicht aufgelöst werden. Org.hidetake: groovy-ssh: 1.1.6 weil keine Repositories definiert sind. Erforderlich von: Projekt: – ghost0806

+0

Gleich für Version 2.8.0 – ghost0806

+0

Jetzt fehlt die Deklaration der Repositories. hinzufügen 'Repositorys { mavenCentral() }' zu 'build.gradle' –