I’m currently working with the jodatime Java library and running into issues when trying to use it within coldfusion.
I’ve downloaded the latest jodatime 2.1 release, put the jar file into a folder on my local drive and pointed my coldfusion administrator to look at that folder in the ColdFusion Class Path under the Java and JVM settings page.
For the most part it works. but there are times when i get things like this:
local.oTestZone = createObject('java','org.joda.time.DateTimeZone').init('Europe/London');
Which should match with this: Constructor however I get an error in coldfusion saying:
Unable to find a constructor for class org.joda.time.DateTimeZone that accepts parameters of type ( java.lang.String ).
It works perfectly fine when I do something like this though:
local.oToZone = createObject('java','org.joda.time.DateTimeZone').forID('Europe/London');
Which matches on: forID
Am I missing something with my java implementation?
The
DateTimeZone(String id)constructor is marked protected (it took me 3 reads of the JavaDoc to spot that), so CF won’t be able to invoke it.It looks to me like JodaTime expects you to use one of the static methods to construct your instances, so your second example is probably the right way of doing it.