5
votes

Gradle cannot resolve org.apache.commons:commons-imaging, yet it is available in all 3 of the provided repositories:

  • http://jump-pilot.sourceforge.net/repository

  • https://repo.adobe.com/nexus/content/repositories/public/

  • https://repository.apache.org/content/repositories/snapshots/

This part of the log is interesting, Gradle looks only in jcenter and the local filesystem:

https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.pom https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar file:/Users/user/Library/Android/sdk/extras/android/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml file:/Users/user/Library/Android/sdk/extras/android/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.pom file:/Users/user/Library/Android/sdk/extras/android/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar file:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml file:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.pom file:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar

Console log (requesting org.apache.commons:commons-imaging:1.0-SNAPSHOT):

$ react-native run-android
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not find org.apache.commons:commons-imaging:1.0-SNAPSHOT.
     Searched in the following locations:
         https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml
         https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.pom
         https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar
         file:/Users/user/Library/Android/sdk/extras/android/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml
         file:/Users/user/Library/Android/sdk/extras/android/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.pom
         file:/Users/user/Library/Android/sdk/extras/android/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar
         file:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml
         file:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.pom
         file:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar
     Required by:
         ReactNativeProject:app:unspecified > ReactNativeProject:react-native-image-store-ext:unspecified

Console log (requesting org.apache.commons:commons-imaging:+):

$ react-native run-android
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not find any matches for org.apache.commons:commons-imaging:+ as no versions of org.apache.commons:commons-imaging are available.
     Required by:
         ReactNativeProject:app:unspecified > ReactNativeProject:react-native-image-store-ext:unspecified

build.gradle:

buildscript {
  repositories { jcenter() }   
  dependencies { classpath 'com.android.tools.build:gradle:2.1.0' }
}
apply plugin: 'com.android.library'
android {
  compileSdkVersion 23
  buildToolsVersion "23.0.1"
  defaultConfig {
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
  }
  lintOptions { abortOnError false }
}
repositories {
  mavenCentral()
  maven { url "http://jump-pilot.sourceforge.net/repository" }
  maven { url "https://repo.adobe.com/nexus/content/repositories/public/" }
  maven { url "https://repository.apache.org/content/repositories/snapshots/" }
} 
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile "com.facebook.react:react-native:+"
    compile 'org.apache.commons:commons-imaging:+'
}
2
Did you resolve this problem? Am having the same issue. It only works if I add the repo to my applications gradle file, but I'm writing a native bridge and want it in there insteadpomo

2 Answers

2
votes

There are 2 build.gradle file in android project: the one inside main project folder and the one inside app folder. The repository should be defined under allprojects block inside project folder. Here, example of my build.gradle which successful build apache commons imaging.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

}

allprojects {
    repositories {
        jcenter()
        maven { url "http://jump-pilot.sourceforge.net/repository" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
0
votes

Apparently, there is no oficial version for apache commons imaging yet.

The latest unoficial version I have found, is on this repo

maven { url "http://wcm.io/maven/repositories/apache-intermediate-release/" }

Add this line on the build.gradle as opris said.

Then, in your gradle app/module file, add this

dependencies {
    ...
    implementation 'org.apache.commons:commons-imaging:1.0-R1725432'
    ...
}

I haven't tested it yet, so I will have to choose between this one and the oficial version of sanselan,

compile 'org.apache.sanselan:sanselan:0.97-incubator'

which has no more support