如何检测子项目 (activejdbc) 的表? IE,我的 Maven 依赖项之一使用 activejdbc
How do I instrument tables for a subproject(activejdbc)? IE, one of my maven dependencies uses activejdbc
我 80% 确定我遇到的问题是因为检测。
所以我有一个项目(A),它使用项目(B) 作为它的maven 依赖项。
项目B使用activejdbc。
运行 mvn process-classes
项目 A 似乎没有检测项目 B 的表。
它给我以下错误。我可以验证构造函数确实存在,不管它怎么说。
Exception in thread "main" org.javalite.activejdbc.InitException: Model 'com.xxx.xx.Tables$Currency' must provide a default constructor. Table:
at org.javalite.activejdbc.Model.create(Model.java:2143)
at org.javalite.activejdbc.Model.createIt(Model.java:2181)
at com.xxx.xx.Tables$Currency.createIt(Tables.java:2178)
Caused by: java.lang.NullPointerException
at org.javalite.activejdbc.Model.setRaw(Model.java:234)
at org.javalite.activejdbc.Model.set(Model.java:224)
at org.javalite.activejdbc.ModelDelegate.setNamesAndValues(ModelDelegate.java:52)
at org.javalite.activejdbc.Model.create(Model.java:2137)
... 8 more
您需要使用 parent/child Maven 设置。请在此处查看完整答案:https://github.com/javalite/activejdbc/issues/392
我 80% 确定我遇到的问题是因为检测。
所以我有一个项目(A),它使用项目(B) 作为它的maven 依赖项。
项目B使用activejdbc。
运行 mvn process-classes
项目 A 似乎没有检测项目 B 的表。
它给我以下错误。我可以验证构造函数确实存在,不管它怎么说。
Exception in thread "main" org.javalite.activejdbc.InitException: Model 'com.xxx.xx.Tables$Currency' must provide a default constructor. Table:
at org.javalite.activejdbc.Model.create(Model.java:2143)
at org.javalite.activejdbc.Model.createIt(Model.java:2181)
at com.xxx.xx.Tables$Currency.createIt(Tables.java:2178)
Caused by: java.lang.NullPointerException
at org.javalite.activejdbc.Model.setRaw(Model.java:234)
at org.javalite.activejdbc.Model.set(Model.java:224)
at org.javalite.activejdbc.ModelDelegate.setNamesAndValues(ModelDelegate.java:52)
at org.javalite.activejdbc.Model.create(Model.java:2137)
... 8 more
您需要使用 parent/child Maven 设置。请在此处查看完整答案:https://github.com/javalite/activejdbc/issues/392