Khaino
Khaino

Reputation: 4149

Resolve error obtaining dependencies: Could not find artifact, Grails

I add plugin compile 'org.grails.plugins:spring-security-core:3.1.1' to my existing Grails 2.4.4 project. When I download source jar or refresh dependency from GGTS I got error as below.

Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-core:zip:3.1.1 in grailsCentral (https://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
Error |
Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-core:zip:3.1.1 in grailsCentral (https://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
Error |

I tried uncomment

 mavenRepo  "http://repository.codehaus.org"
 mavenRepo "http://download.java.net/maven/2/"
 mavenRepo "http://repository.jboss.com/maven2/"

and also tried

 mavenRepo "https://repo.grails.org/grails/core" or mavenRepo "http://repo.grails.org/grails/core"

I also tried solution given in some stackoverflow questions. But did not solve my error. Does anyone has solution? My BuildConfig.grovvy is as below

grails.servlet.version = "3.0" // Change depending on target container compliance (2.5 or 3.0)
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.work.dir = "target/work"
grails.project.target.level = 1.6
grails.project.source.level = 1.6
//grails.project.war.file = "target/${appName}-${appVersion}.war"

grails.project.fork = [
    // configure settings for compilation JVM, note that if you alter the Groovy version forked compilation is required
    //  compile: [maxMemory: 256, minMemory: 64, debug: false, maxPerm: 256, daemon:true],

    // configure settings for the test-app JVM, uses the daemon by default
    test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
    // configure settings for the run-app JVM
    run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
    // configure settings for the run-war JVM
    war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
    // configure settings for the Console UI JVM
    console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
]

grails.project.dependency.resolver = "maven" // or ivy
grails.project.dependency.resolution = {
    // inherit Grails' default dependencies
    inherits("global") {
        // specify dependency exclusions here; for example, uncomment this to disable ehcache:
        // excludes 'ehcache'
    }
    log "error" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
    checksums true // Whether to verify checksums on resolve
    legacyResolve false // whether to do a secondary resolve on plugin installation, not advised and here for backwards compatibility

    repositories {
        inherits true // Whether to inherit repository definitions from plugins

        grailsPlugins()
        grailsHome()
        mavenLocal()
        grailsCentral()
        mavenCentral()
        // uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories
//        mavenRepo "http://repository.codehaus.org"
//        mavenRepo "http://download.java.net/maven/2/"
//        mavenRepo "http://repository.jboss.com/maven2/"


    }

    dependencies {
        // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes e.g.
        // runtime 'mysql:mysql-connector-java:5.1.29'
        // runtime 'org.postgresql:postgresql:9.3-1101-jdbc41'
        test "org.grails:grails-datastore-test-support:1.0.2-grails-2.4"
    }

    plugins {
        // plugins for the build system only
        build ":tomcat:7.0.55"

        // plugins for the compile step
        compile ":scaffolding:2.1.2"
        compile ':cache:1.1.8'
        compile ":asset-pipeline:1.9.9"

        // plugins needed at runtime but not for compilation
        runtime ":hibernate4:4.3.6.1" // or ":hibernate:3.6.10.18"
        runtime ":database-migration:1.4.0"
        runtime ":jquery:1.11.1"

        // Uncomment these to enable additional asset-pipeline capabilities
        //compile ":sass-asset-pipeline:1.9.0"
        //compile ":less-asset-pipeline:1.10.0"
        //compile ":coffee-asset-pipeline:1.8.0"
        //compile ":handlebars-asset-pipeline:1.3.0.3"
        compile 'org.grails.plugins:spring-security-core:3.1.1'
    }
}

Upvotes: 0

Views: 9605

Answers (3)

Tung
Tung

Reputation: 1671

I have experienced with this error. The plugin spring-security-core-2.0.0 should be declared in plugins section of BuildConfig.groovy. And also, we don't need to precise the group id org.grails.plugins. Just like this:

plugins {
   // plugins for the build system only
   build ":tomcat:7.0.70" // or ":tomcat:8.0.22"
   compile":rest-client-builder:2.1.1"

   compile ":spring-security-core:2.0.0"
   ...
   ...
}

Upvotes: 0

Burt Beckwith
Burt Beckwith

Reputation: 75671

Grails 2.x plugins each have a page in the 'plugin portal' at grails.org, and the page for this plugin is at http://grails.org/plugin/spring-security-core. As it says there, the latest version is 2.0.0, so you should add

compile ':spring-security-core:2.0.0'

in the plugins section of your BuildConfig.groovy.

Or if you really want to use version 3.1.1, upgrade your app to use Grails 3.x (this is left as an exercise for the reader) and add a dependency for v3.1.1 in the upgraded app's build.gradle file.

Grails 3 plugin pages are hosted in another section of the Grails site, and the page for the Grails 3 compatible spring-security-core plugin is at https://grails.org/plugins.html#plugin/spring-security-core

The 2.0.0 and 3.1.1 plugin docs are both available at https://grails-plugins.github.io/grails-spring-security-core/

Upvotes: 3

alexanderfranke
alexanderfranke

Reputation: 157

It seems version 3.1.1 is hosted on bintray, which means you have the wrong repository. https://bintray.com/grails/plugins/spring-security-core

But as the spring-security-core plugin maintains a 2.x branch on GitHub I guess version 2.0 is the latest supported version for Grails 2. So you might have to change your version, then the default repository should be good.

Upvotes: 1

Related Questions