Monday, December 10, 2018

Grails 2.4.4 Spring tool suite STS - failed to read artifact descriptor

Recently, we started having issues downloading dependencies for our Grails projects running on Java 7 with the following error:

 failed to read artifact descriptor 
I was basically trying to run a 'grails clean' command on the project through STS eclipse (version 3.6.4). I was aware with the community finally disabling support for version TLSv1 and suspected it might be related. I made all attempts to specify TLSv1.1 and TLSv1.2 in various configurations in STS without any success. I tried in the STS eclipse INI file using the argument

-Dhttps.protocols=TLSv1.1,TLSv1.2
I also tried setting the https.protocol in the JRE definition of eclipse:

Windows -> Preferences -> Java -> Installed JREs -> jdk1.7.0_79 -> Edit -> Default VM arguments

No luck either.

I finally decided to run 'grails command' on the command-line where I had JDK version 8 running by default:


C:\grails\grails-2.4.4\bin\grails clean
| JVM Version: 1.8.0_171
| Application cleaned.

You can see that using Java 8, it was able to download all the dependencies successfully.

It's not ideal to have to use the command-line to get the dependencies downloaded, but once it's all cached locally, then you can switch back to STS to build and run grails-apps.