Fail to resolve spring-security-ldap 2.0.1 into Grails 2.4.4 - grails

Please help! I had a problem installing spring-security-ldap 2.0.1 into my Grails 2.4.4.
My BuildConfig.groovy is like such:
repositories {
inherits true // Whether to inherit repository definitions from plugins
grailsPlugins()
grailsHome()
mavenLocal()
grailsCentral()
mavenCentral()
mavenRepo "http://repo.spring.io/milestone"
mavenRepo "http://repo.grails.org/grails/repo"
}
dependencies {
compile "org.grails.plugins:spring-security-ldap:2.0.1"
}
And during resolve the following error is shown:
Error | Resolve error obtaining dependencies: Could not find artifact org.grails.plugins:spring-security-ldap:jar:2.0.1 in grailsCentral (https://repo.grails.org/grails/plugins)
It's not a connection/proxy issue cause other dependencies was resolved with no problem.
Anyway to resolve this? Any info/help much appreciated!

Please change dependency from
dependencies {
compile "org.grails.plugins:spring-security-ldap:2.0.1"
}
To
dependencies {
compile 'org.grails.plugins:spring-security-ldap:3.0.2'
}
You can check repo of grails core spring-security-ldap plugin.
Updated:
plugins {
compile ":spring-security-ldap:2.0.1"
}
Please refer this link to other configuration
Above uses Grails 2.X and likely won't work with 3.X
Hope this will helps you

Related

Grails 3 Cookie plugin not found

I want to use the Grails 3 Cookie plugin (http://plugins.grails.org/plugin/ctoestreich/cookie). In my build.gradle I have these entries here:
repositories {
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
mavenCentral()
}
dependencies {
[...]
compile 'org.grails.plugins:grails-cookie:2.0.5'
[...]
}
But when running gradle build, he's got problems looking up that dependency:
> Could not resolve all dependencies for configuration ':runtime'.
> Could not find org.grails.plugins:grails-cookie:2.0.5.
Searched in the following locations:
file:/home/marp/.m2/repository/org/grails/plugins/grails-cookie/2.0.5/grails-cookie-2.0.5.pom
file:/home/marp/.m2/repository/org/grails/plugins/grails-cookie/2.0.5/grails-cookie-2.0.5.jar
https://repo.grails.org/grails/core/org/grails/plugins/grails-cookie/2.0.5/grails-cookie-2.0.5.pom
https://repo.grails.org/grails/core/org/grails/plugins/grails-cookie/2.0.5/grails-cookie-2.0.5.jar
https://repo1.maven.org/maven2/org/grails/plugins/grails-cookie/2.0.5/grails-cookie-2.0.5.pom
https://repo1.maven.org/maven2/org/grails/plugins/grails-cookie/2.0.5/grails-cookie-2.0.5.jar
Required by:
project :
Do I need to include an other maven repo? Or is the plugin just gone?
Instead compile 'org.grails.plugins:grails-cookie:2.0.5'
use compile 'org.grails.plugins:cookie:2.0.5'
also you can set cookie expiration configuration in application.yml file
Example-grails.plugins.cookie.cookieage.default: 43200
repo of dependency
Hope it helps you
According to this (at the time of writing), 2.0.3 appears to be the newest version on the repo.grails.org repo:
http://repo.grails.org/grails/core/org/grails/plugins/grails-cookie/
change your dependency to:
compile 'org.grails.plugins:cookie:2.0.3'

Compilation issue while upgrading from Grails 2.2.2 to 2.5.1

I am doing a migration from Grails 2.2.2 to Grails 2.5.1.While upgrading that i am facing compilation issue for
import org.codehaus.groovy.grails.commons.ApplicationHolder
class which is present inside
spring-security-core-1.2.7.3\src\groovy\org\codehaus\groovy\grails\plugins\springsecurity\ReflectionUtils.groovy
I am using spring-security-core 1.2.7.3 and spring security ldap 1.0.6 version inside my plugin dependency tag inside the buildConfig.groovy. I tried to update the version but i am not finding the right combination for both the jars.
Could someone help me to find the correct version of both the jars which is compatible with 2.5.1 Grails.
Use compile ":spring-security-core:2.0.0" for the core plugin and compile ":spring-security-ldap:2.0.1" for the LDAP plugin.
Your BuildConfig.groovy should look like this:
grails.servlet.version = '3.0'
grails.project.work.dir = 'target'
grails.project.target.level = 1.7
grails.project.source.level = 1.7
grails.project.dependency.resolver = 'maven'
grails.project.dependency.resolution = {
inherits 'global'
log 'warn'
checksums true
legacyResolve false
repositories {
inherits true
mavenLocal()
grailsCentral()
mavenCentral()
}
dependencies {
...
}
plugins {
compile ':spring-security-core:2.0.0'
compile ':spring-security-ldap:2.0.1'
// other plugins
}
}

Geb driver issue after upgrading to Grails 2.4.5

Upon upgrading my Grails version from 2.3.6 to 2.4.5, I am now getting an exception when running Geb Spock tests.
failed to create driver from callback 'script14328041759692122350870$_run_closure1#5fcdf5ea'
geb.driver.DriverCreationException: failed to create driver from callback 'script14328041759692122350870$_run_closure1#5fcdf5ea'
at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:35)
at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy:85)
at geb.driver.CachingDriverFactory$SimpleCache.get(CachingDriverFactory.groovy:32)
at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.groovy:84)
at geb.Configuration.createDriver(Configuration.groovy:361)
at geb.Configuration.getDriver(Configuration.groovy:350)
at geb.Browser.getDriver(Browser.groovy:105)
at geb.Browser.clearCookies(Browser.groovy:496)
at geb.spock.GebSpec.methodMissing(GebSpec.groovy:54)
at AuthorizationAdminSpec.setupSpec(AuthorizationAdminSpec.groovy:21)
Caused by: java.lang.NoClassDefFoundError: org/apache/http/conn/SchemePortResolver
at org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.getDefaultHttpClientFactory(ApacheHttpClient.java:234)
at org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.<init>(ApacheHttpClient.java:211)
at org.openqa.selenium.remote.HttpCommandExecutor.getDefaultClientFactory(HttpCommandExecutor.java:88)
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:62)
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:57)
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:93)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:191)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:99)
at script14328041759692122350870.run_closure1(script14328041759692122350870.groovy:12)
at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:29)
... 9 more
Caused by: java.lang.ClassNotFoundException: org.apache.http.conn.SchemePortResolver
at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:175)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:147)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 23 more
I remember encountering this exception before during my initial Geb setup in Grails 2.3.6, in which the BuildConfig and GebConfig files were not properly configured. However, upon re-checking the necessary plugins and dependencies required of Geb, I did not notice anything different for Grails 2.4.5 Also, I switched my dependency resolution from Ivy to Maven, so I double checked my maven resources to make sure the driver was loaded.
Some more info...
BuildConfig.groovy
grails.project.dependency.resolver = "maven"
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
// specify dependency exclusions here; for example, uncomment this to disable ehcache:
// excludes 'ehcache'
}
log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
checksums true // Whether to verify checksums on resolve
repositories {
grailsPlugins()
grailsHome()
grailsCentral()
mavenLocal()
mavenCentral()
mavenRepo "http://repository.jboss.com/maven2/"
mavenRepo "http://google-api-client-libraries.appspot.com/mavenrepo"
mavenRepo "http://mvnrepository.com/artifact/"
mavenRepo "http://repo.jenkins-ci.org/repo"
mavenRepo "http://repo.grails.org/grails/repo"
}
dependencies {
....
compile "org.springframework:spring-test:4.0.9.RELEASE"
test "org.gebish:geb-spock:0.10.0"
test "org.seleniumhq.selenium:selenium-support:2.45.0"
test "org.seleniumhq.selenium:selenium-firefox-driver:2.45.0"
}
plugins {
....
test ":geb:0.10.0"
}
GebConfig.groovy
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.firefox.FirefoxProfile
reportsDir = "target/geb-reports"
baseUrl = "http://localhost:8090/adverity/"
driver = {
//set the firefox locale to 'en-us' since the tests expect english
//see http://stackoverflow.com/questions/9822717 for more details
FirefoxProfile profile = new FirefoxProfile()
profile.setPreference("intl.accept_languages", "en-us")
def driverInstance = new FirefoxDriver(profile)
driverInstance.manage().window().maximize()
driverInstance
}
baseNavigatorWaiting = true
atCheckWaiting = true
autoClearCookies = false
quitCachedDriverOnShutdown = false
Any simple spec that I run will throw the same error.I tried doing the same with Chrome to test if this is a driver issue and got the same results. Both firefox and Chrome drivers work with Grails 2.3.6, but not 2.4.5.
OS: Fedora 20
Browser: Firefox 38
Places I have looked already...
Book of Geb
GebGrails git hub example
StackOverflow
test 'org.apache.httpcomponents:httpclient:4.3.2'
Added to the dependencies section in BuildConfig.groovy
I was not aware of this dependency as I did not see it in any documentation, but a deeper look inside the stack trace told me otherwise.

Grails can't load maven-publisher

I am trying to add maven-publisher to a Grails (2.3.6) plugin like so:
dependencies {
compile 'org.mongodb.morphia:morphia:0.107'
compile ":maven-publisher:0.8.1"
}
When I run grails compile I get:
| Error There was an error loading the BuildConfig: Bad artifact coordinates
:maven-publisher:0.8.1, expected format is <groupId>:<artifactId>[:<extension>[
:<classifier>]]:<version> (Use --stacktrace to see the full trace)
What's going on here?
Do not use the maven-publisher plugin. It's old and deprecated. Use the release plugin - it should already be in your plugin's BuildConfig.groovy. If not, here's how it should look (after removing unnecessary cruft):
grails.project.work.dir = 'target'
grails.project.dependency.resolution = {
inherits 'global'
log 'warn'
repositories {
grailsCentral()
mavenLocal()
mavenCentral()
}
dependencies {
compile 'org.mongodb.morphia:morphia:0.107'
}
plugins {
build ':release:3.0.1', ':rest-client-builder:1.0.3', {
export = false
}
}
}
As #dmahapatro said in his comment, jar dependencies go in the dependencies block, and plugin dependencies go in the plugins block.
Note also that you should keep the export = false setting so the plugin is available locally for your use, but doesn't leak into the containing application as an unnecessary transitive dependency.

IntelliJ mavenLocal Warning in Grails BuildConfig

This warning started showing in IntelliJ :
'mavenLocal' in 'org.codehaus.groovy.grails.resolve.config.RepositoriesConfigurer' cannot be applied to '()'
Here's the relevant snippet from BuildConfig.groovy.
repositories {
inherits true // Whether to inherit repository definitions from plugins
grailsPlugins()
grailsHome()
grailsCentral()
mavenLocal()
mavenRepo "https://mycompany.artifactoryonline.com/mycompany/repo"
mavenCentral()
}
Environment:
OSX 10.6.8
Grails 2.0.3
IntelliJ 11.1.2
The mavenLocal method in RepositoriesConfigurer is defined like this:
void mavenLocal(String repoPath) {
...
}
So yes, mavenLocal expects a path, but is happy with getting null, which means to use the default repository path (.m2/repository under users home directory).
As I understand it, mavenLocal() resolves to calling mavenLocal(null) in this case.
mavenLocal should probably be changed to
void mavenLocal(String repoPath = null) {
...
}
to make it more obvious that the repoPath is optional, and get rid of the warning in IntelliJ

Resources