Devskiller / jpa2ddl

JPA Schema Generator Plugin
Apache License 2.0
109 stars 33 forks source link

FileResolver doesn't detect .java files #38

Open Z13NDELS opened 4 years ago

Z13NDELS commented 4 years ago

I have added jpa2ddl to a project where I also ahve source classes. jpa2ddl generates nothing, even if configuration is very similar to the one in example. After debuggging, I found out that FileResolver#listClassNamesInPackage(...) associates the package name to the source folder of my classes (and not the classes folder). As a consequence, contained files are .java which the pathMatcher object can't recognize as .class. And in turn, this prevent my classes from being recognized and creates an empty schema.

Possible solutions are

  1. Tweak the contect class loader to not use the src/main/java folder but the target/classes one
  2. Change the pathMatcher to match .java and .class files. This one is way easier.
jkubrynski commented 4 years ago

Do you use maven or gradle tool?

Z13NDELS commented 4 years ago

I've used maven

jkubrynski commented 3 years ago

By default the plugin runs in the process-classes phase which is executed after compiling all classes. The classpath contains the target as well as the src directory. Could you please provide us with the https://stackoverflow.com/help/minimal-reproducible-example ?