Pekka Mattila Pekka Mattila - 29 days ago 7
Java Question

Problem with Apache Commons Id UUID Version 1 generation

My problem is to generate version 1 UUIDs. We use Jetty 6.x, Maven (to start Jetty among other things) and Apache Commons ID (to generate UUID version 1 from the current time).

Apache Commons ID requires a configuration file that is told to the JVM, using a parameter, e.g. 'org.apache.commons.id.uuid.config.resource.filename=commons-id-uuid.xml'. I checked the Apache Commons ID code and it tries to find the file from the classpath. Jetty's documentation states that WEB-INF/lib and WEB-INF/classes are in the classpath. The 'commons-id-uuid.xml' can be found from the deployed war file from the root of WEB-INF/classes directory but Jetty cannot load it:

Message: java.lang.RuntimeException:
java.lang.IllegalStateException: commons-id-uuid.xml loaded as system resource is null


Jetty was started using the following command:

mvn jetty:run -Dorg.apache.commons.id.uuid.config.resource.filename=commons-id-uuid.xml


Any idea what is going wrong? We just need to generate UUID version 1 identifiers. Any suggestions?

Answer

There are at least 2 better UUID generation libraries than apache commons one:

which do not require xml config files. Maybe consider one of them instead?