Included a patch from Casey Link for a bug with custom naming-strategies
[hibernate4-maven-plugin] / src / main / java / de / juplo / plugins / hibernate4 / Hbm2DdlMojo.java
index f8c0634..c2ba9da 100644 (file)
@@ -1000,8 +1000,20 @@ public class Hbm2DdlMojo extends AbstractMojo
         getLog().debug("Explicitly set NamingStrategy: " + namingStrategy);
         try
         {
+          List runtimeClasspathElements = project.getRuntimeClasspathElements();
+          URL[] runtimeUrls = new URL[runtimeClasspathElements.size()];
+          for (int i = 0; i < runtimeClasspathElements.size(); i++)
+          {
+            String element = (String) runtimeClasspathElements.get(i);
+            runtimeUrls[i] = new File(element).toURI().toURL();
+          }
+          URLClassLoader newLoader = new URLClassLoader(
+              runtimeUrls,
+              Thread.currentThread().getContextClassLoader()
+              );
           @SuppressWarnings("unchecked")
-          Class<NamingStrategy> namingStrategyClass = (Class<NamingStrategy>) Class.forName(namingStrategy);
+          Class<NamingStrategy> namingStrategyClass =
+              (Class<NamingStrategy>) newLoader.loadClass(namingStrategy);
           config.setNamingStrategy(namingStrategyClass.newInstance());
         }
         catch (Exception e)