我在 Android Studio 中有一个多模块设置,它由一个用于与 API 通信的纯 java 模块和一个使用该 API 模块的 Android 项目组成。要配置 API 变量,例如用户名和密码,我使用 Owner ( http://owner.aeonbits.org/ )。整个过程没有问题。
我在 API 模块中使用 Main-function 来测试它们是否运行良好。那里。我的问题是,当我尝试使用对 APi 模块的编译依赖项运行 Android 项目时,它会崩溃并显示以下消息:
java.lang.NoClassDefFoundError: java.beans.PropertyEditorManager
at org.aeonbits.owner.Converters$4.tryConvert(Converters.java:147)
at org.aeonbits.owner.Converters.doConvert(Converters.java:227)
at org.aeonbits.owner.Converters.convert(Converters.java:222)
at org.aeonbits.owner.PropertiesInvocationHandler.resolveProperty(PropertiesInvocationHandler.java:83)
at org.aeonbits.owner.PropertiesInvocationHandler.invoke(PropertiesInvocationHandler.java:54)
at $Proxy2.local_server_url(Native Method)
at se.springworks.api.client.M2HClient.<init>(M2HClient.java:40)
at se.springworks.apiexample.androidexampleapp.ExampleActivity.onCreate(ExampleActivity.java:18)
at android.app.Activity.performCreate(Activity.java:5426)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
at android.app.ActivityThread.access$900(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
我不知道为什么这不起作用,但一个疯狂的问题是,由于某种原因,并非 Owner 的所有依赖项都包含在 Android 项目中。
编辑:由于这在运行时失败,我想知道我是否需要做任何额外的事情才能将它添加为运行时依赖项。