2015-05-28 9 views
8

Ich versuche immer noch, meine grandle script Arbeit zu bekommen, habe ich alle Protokolle und es scheint, dass es einige Klassen fehlen. Hier ist eine Nachricht.Kann Bibliotheksprojekt nicht erstellen Bintray Gradle - ClassNotFoundException

org.gradle.api.GradleScriptException: A problem occurred evaluating project ':horizontalrecyclerview'. 

Caused by: java.lang.NoClassDefFoundError: org/gradle/api/publication/maven/internal/DefaultMavenFactory 
     at org.gradle.api.plugins.AndroidMavenPlugin.apply(AndroidMavenPlugin.java:88) 
     at org.gradle.api.plugins.AndroidMavenPlugin.apply(AndroidMavenPlugin.java:57) 
     at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(Imper 

Caused by: java.lang.ClassNotFoundException: org.gradle.api.publication.maven.internal.DefaultMavenFactory 
     ... 51 more 

Hier ist meine build.gradle.

apply plugin: 'com.android.library' 
apply plugin: 'com.github.dcendents.android-maven' 
apply plugin: 'com.jfrog.bintray' 
version = "1.0.0" 
android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
def siteUrl = 'https://github.com/CROSP/AndroidHorizontalRecyclerView'  // Homepage URL of the library 
def gitUrl = 'https://github.com/CROSP/AndroidHorizontalRecyclerView.git' // Git repository URL 
group = "com.github.crosp.horizontalrecyclerview"      // Maven Group ID for the artifact 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'org.jsoup:jsoup:1.8.1' 
    compile 'com.android.support:appcompat-v7:22.1.1' 
    compile 'com.android.support:recyclerview-v7:21.0.3' 

} 
install { 
    repositories.mavenInstaller { 
     // This generates POM.xml with proper parameters 
     pom { 
      project { 
       packaging 'aar' 

       // Add your description here 
       name 'Android Horizontal Recycler View with Headerr' 
       description = 'Android Horizontal Recycler View with Header project for displaying horizontal list on Android ' 
       url siteUrl 

       // Set your license 
       licenses { 
        license { 
         name 'The Apache Software License, Version 2.0' 
         url 'http://www.apache.org/licenses/LICENSE-2.0.txt' 
        } 
       } 
       developers { 
        developer { 
         id 'crosp' 
         name 'Alexandr Crospenko' 
         email '[email protected]' 
        } 
       } 
       scm { 
        connection gitUrl 
        developerConnection gitUrl 
        url siteUrl 

       } 
      } 
     } 
    } 
} 

task sourcesJar(type: Jar) { 
    from android.sourceSets.main.java.srcDirs 
    classifier = 'sources' 
} 

task javadoc(type: Javadoc) { 
    source = android.sourceSets.main.java.srcDirs 
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) 
} 

task javadocJar(type: Jar, dependsOn: javadoc) { 
    classifier = 'javadoc' 
    from javadoc.destinationDir 
} 
artifacts { 
    archives javadocJar 
    archives sourcesJar 
} 

Properties properties = new Properties() 
properties.load(project.rootProject.file('local.properties').newDataInputStream()) 

// https://github.com/bintray/gradle-bintray-plugin 
bintray { 
    user = properties.getProperty("bintray.user") 
    key = properties.getProperty("bintray.apikey") 

    configurations = ['archives'] 
    pkg { 
     repo = "maven" 
     // it is the name that appears in bintray when logged 
     name = "crosp" 
     websiteUrl = siteUrl 
     vcsUrl = gitUrl 
     licenses = ["Apache-2.0"] 
     publish = true 
     version { 
      gpg { 
       sign = true //Determines whether to GPG sign the files. The default is false 
       passphrase = properties.getProperty("bintray.gpg.password") //Optional. The passphrase for GPG signing' 
      } 
//   mavenCentralSync { 
//    sync = true //Optional (true by default). Determines whether to sync the version to Maven Central. 
//    user = properties.getProperty("bintray.oss.user") //OSS user token 
//    password = properties.getProperty("bintray.oss.password") //OSS user password 
//    close = '1' //Optional property. By default the staging repository is closed and artifacts are released to Maven Central. You can optionally turn this behaviour off (by puting 0 as value) and release the version manually. 
//   } 
     } 
    } 
} 

Vielleicht hatte jemand schon solch ein Problem oder weiß den Weg, es zu lösen? Bitte helfen Sie, denn ich kann den ganzen Tag nicht arbeiten. Thx im Voraus.

+0

Es dass dies scheint Klasse wurde entfernt. Versuchen Sie, Gradle-Version zu stoßen. – Opal

Antwort

14

Ich mache das gleiche (laden Sie meine aar zu bintray) und ich habe das gleiche Problem.

ich weiß, dass es in gradle Bibliothek aufgetreten ist, so dass ich von 2.4.0 bis 2.2.1 auf diese Weise

meinen gradle verion ändern

Datei -> Projektstruktur (oder Trigger-Hotkey command + ;) - > klicken Sie auf das Project in der linken Liste im Dialog -> Eingabe 2.2.1 im Gradle-Textfeld.

Ich löse diesen Fehler auf diese Weise. Suchen Sie nach dem Notizteil in Datei README.md.

Hoffe, das kann Ihnen helfen.

ps: Wenn Sie 2.4.0 gradle verwenden möchten, sollten Sie Config android-Maven-Plugin-Version 1.3 in Classpath im Stamm build.gradle Projekt:

Verwandte Themen