我有80%的把握我遇到的问题是因为检测。
所以我有一个项目(a),它使用项目(B)作为它的maven依赖项。
项目B使用activejdbc。
在项目A上运行mvn process-classes
似乎不会为项目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
您需要使用父/子Maven设置。请在此处查看完整答案:https://github.com/javalite/activejdbc/issues/392