如何检测子项目 (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