Open ianrae opened 9 years ago
Hi @ianrae,
can yo please provide a full sample under https://github.com/hakandilek/play2-crud/tree/master/samples to reproduce the problem.
I can try to identify the problem better then.
I'm trying to figure out how to do that -- i think i need two github repos to do it :(
I found a workaround. In ClasspathScanningControllerRegistry.scanCrud(), add bulder.addUrls to add "org.mef.twixt" explicitly. Now all my controllers are seen. Not sure how to make this into a way that play2-crud can expose to library developers such as myself. Perhaps a value in the .conf file?
ConfigurationBuilder builder = new ConfigurationBuilder().setUrls(
ClasspathHelper.forPackage("", cls));
builder.addUrls(ClasspathHelper.forPackage("org.mef.twixt"));
final Reflections reflections = new Reflections(builder.setScanners(new SubTypesScanner(),
new TypeAnnotationsScanner()).addClassLoaders(cls));
instead of 2 repos you can create a branch.
Hi Hakan. I have submitted a pull request with two projects that are in samples/issue54. Let me know what you think. Thanks.
From the bottom up:
m8 crashes, apparently confused where to look for sampleForm.scala.html. It exists in the app but play-crud perhaps is looking in twixt (since that's where the class that derived from CRUDController is.
java.lang.NoClassDefFoundError: views/html/SampleForm (wrong name: views/html/sa mpleForm) java.lang.NoClassDefFoundError: views/html/SampleForm (wrong name: views/html/sa mpleForm) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14 2) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14 2) at java.net.URLClassLoader.defineClass(URLClassLoader.java:455) at java.net.URLClassLoader.defineClass(URLClassLoader.java:455) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:367) at java.net.URLClassLoader$1.run(URLClassLoader.java:367) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at play.utils.crud.TemplateController.call(TemplateController.java:83) at play.utils.crud.TemplateController.call(TemplateController.java:83) at play.utils.dyn.DynamicCrudController.render(DynamicCrudController.jav a:75) at play.utils.dyn.DynamicCrudController.render(DynamicCrudController.jav a:75)
NOTE. If I copy TwixtController up into the m8 app and derive SampleController from it, everything works fine.