0

I'm trying to set up Grails at my computer at work running Windows 10 and I'm unable to do so. I've downloaded the latest version from the website (3.3.8), added a GRAILS_HOME variable to my account pointing to the unzipped Grails directory and added the path to its bin subdirectory to the system Path and while grails -v works and outputs the version of Grails, Gradle and Java correctly, basically no other command does.

When I try to create some sample app with grails create-app someApp, I get | Error Error initializing classpath: services.gradle.org and a trace like this:

| Resolving Dependencies. Please wait...
Downloading https://services.gradle.org/distributions/gradle-3.5-bin.zip

| Error Error initializing classpath: services.gradle.org
java.net.UnknownHostException: services.gradle.org
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
        at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
        at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
        at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
        at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
        at org.gradle.wrapper.Download.download(Download.java:44)
        at org.gradle.tooling.internal.consumer.DistributionFactory$ProgressReportingDownload.download(DistributionFactory.java:201)
        at org.gradle.wrapper.Install$1.call(Install.java:61)
        at org.gradle.wrapper.Install$1.call(Install.java:48)
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
        at org.gradle.wrapper.Install.createDist(Install.java:48)
        at org.gradle.tooling.internal.consumer.DistributionFactory$ZippedDistribution$1.call(DistributionFactory.java:138)
        at org.gradle.tooling.internal.consumer.DistributionFactory$ZippedDistribution$1.call(DistributionFactory.java:132)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
| Error Error initializing classpath: services.gradle.org

Similarly, when I try to download a project (like the one generated from start.grails.org) and just run it locally with grailsw run-app, I get:

You must be connected to the internet the first time you use the Grails wrapper
java.net.UnknownHostException: repo.grails.org
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
        at sun.net.www.http.HttpClient.New(HttpClient.java:339)
        at sun.net.www.http.HttpClient.New(HttpClient.java:357)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at java.net.URL.openStream(URL.java:1045)
        at grails.init.Start.getVersion(Start.java:36)
        at grails.init.Start.main(Start.java:83)

Even a simple help command doesn't work cause grails -help outputs | Error Error occurred running Grails CLI: repo.grails.org

What may be the reason for this? Is the corporate firewall blocking something? How may I make this work?

Straightfw
  • 2,143
  • 5
  • 26
  • 39

1 Answers1

1

You mention a corporate proxy; you can set your proxy in gradle.properties as such:

systemProp.https.proxyHost=<your proxy>
systemProp.https.proxyPort=<your port>
systemProp.http.proxyHost=<probably same>
systemProp.http.proxyPort=<probably same>
systemProp.http.nonProxyHosts:<optional.  comma-separated.  probably at least want localhost in there: *.domain.com,localhost>
Daniel
  • 3,312
  • 1
  • 14
  • 31
  • 1
    Oh, you actually mentioned corporate firewall. I'm guessing still that there's a proxy too. – Daniel Nov 28 '18 at 16:26
  • Yep, but the thing is, in order to edit gradle.properties, I first need to create the app - and I can't do that because of the errors. The only option would be to generate the app using the online tool every time and then edit the properties. Also, I have no idea about the proxies for my company and from what I inquired, nobody does. Isn't there any workaround to this? :( – Straightfw Nov 28 '18 at 22:34
  • OK, I managed to get the proxies information and now it works like a charm - thanks a lot! :) – Straightfw Nov 29 '18 at 10:09