[SOLVED] Hangs while Configuring CLASSPATH

Posted by Anantha Narayanan On 11:15 AM

I had created a new app in grails, and my colleague was trying to access this app after copying this folder to his local machine. Our environments were setup as follows:

GRAILS Version - 2.4.0
GROOVY Version - 2.3.3
JAVA Version - 1.8

Both of our environments matched. When he created a fresh application, grails created the application, however he was not able to run the application. The same was case with the copied application.

After 5 odd minutes the error was thrown into the screen:

C:\MyTrainigs\GroovyApp\test123>grails
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=32m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; sup
| Configuring classpath
| Error Resolve error obtaining dependencies: Failed to read artifact descriptor for xalan erializer:jar:2.7.1 (Use --stacktrace to see the full trace)
| Error Required Grails build dependencies were not found. This is normally due to internet connectivity issues (such as a misconfigured proxy) or missing repositories in grails-app/conf/BuildConfig.groovy. Please verify your configuration to continue.


Only then we realized that this is internet access issue as grails pointed out. We were both accessing the application from corporate network, through internet proxy. The my colleague tried to access internet through data card and it worked. He was able to execute the application.

So if you have tried all other resolutions and if it has not worked, setup your proxy in startGrails.bat and it will work.

The example for setting up this is as below:
set JAVA_OPTS=%JAVA_OPTS% -Dhttps.proxyHost=yourproxyserver -Dhttps.proxyPort=proxyport

Let me know if this works for you.

Rounding off decimal value in Groovy

Posted by Anantha Narayanan On 9:56 PM

I am new to groovy language, so assume its going to be bare basic.

By default you have an object defined in groovy like follows:

groovy> def number=12.11 
groovy> println number.round(2) 

Exception thrown

groovy.lang.MissingMethodException: No signature of method: java.math.BigDecimal.round() is applicable for argument types: (java.lang.Integer) values: [2]
Possible solutions: round(java.math.MathContext), find(), pow(int), and(java.lang.Number), power(java.lang.Integer), mod(java.lang.Number)

I was searching in google for identifying the issue, but could not resolve it. Later only I realized that round() is available in double in groovy. I then explicitly converted the variable to double using toDouble() method and chained the round() method to it. It solved my problem.

groovy> def number=12.11 
groovy> println number.getClass()
groovy> println number.toDoublt().getClass()
groovy> println number.toDouble().round(2) 

class java.lang.Double
class java.math.BigDecimal
12.11

So it is evident that the method round() is not available to BigDecimal whereas it is available to Double.

So how can I round off a BigDecimal? Waiting for the answer.

Playing video files in HTML5

Posted by Anantha Narayanan On 12:53 PM

Section 3: How to play video files in HTML5

The sweetest and simplest way to play video files is HTML5.

<video src="videofile.ogg" autoplay poster="posterimage.jpg">
  Sorry, your browser doesn't support embedded videos, 
  but don't worry, you can <a href="videofile.ogg">download 
  it</a>and watch it with your favorite video player!
</video>

Arriving upon a video format and a codec is the complex part of playing a video file. Refer the browser compatibility in MDN before you use this.

Note: the source you are using in src need not be from same server where html5 is residing. This means that you can embed videos from YouTube inside your webpages using this same tag. The advantage is that you can put more controls on your webpage by using JavaScript.

Recommended Post Slide Out For Blogger