Search code examples
grailsgrails-plugin

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'
    }
}

Solution

  • 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/