通常のJavaプロジェクトに依存するAndroidライブラリプロジェクトがあります(依存関係はJavaビルドパス>プロジェクトで設定されました。プロジェクトはの「注文とエクスポート」タブでチェックされました)。here で説明されているように、サーブレット プロジェクトの libs フォルダーにドロップする jar を生成します。サーブレットがプロジェクトからのメソッドを必要とするまで、すべて問題ありませんでした:MonitoringModelHelpersHelpersMonitoringModelMonitoringModelHelpers
Caused by: java.lang.NoClassDefFoundError: gr/uoa/di/java/helpers/Utils
at gr.uoa.di.monitoring.model.Battery$BatteryFields$1.parse(Battery.java:59)
at gr.uoa.di.monitoring.model.Battery$BatteryFields$1.parse(Battery.java:1)
at gr.uoa.di.monitoring.model.Battery.parse(Battery.java:117)
... 24 more
Caused by: java.lang.ClassNotFoundException: gr.uoa.di.java.helpers.Utils
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
そのとき、(から) エクスポートされた jar にはパッケージMonitoringModelがない
ことに気付きました。プロジェクトは jar を作成しないので、そのHelpersフォルダーをAdd Class Folderとして追加してみました)Helpersbin/

「注文とエクスポート」タブにも追加します:

しかし、まだ喜びはありません。
では、これをどのように設定すればよいですか?
RECAP :私が求めているのは、通常の Java プロジェクトを Android ライブラリ プロジェクトに追加し、これを何らかの方法で Android ライブラリ プロジェクトの jar にコンパイルする方法です。問題は、(Java) クラスがエクスポートされないことではなく、それらの Java クラスを使用するメソッドがjar で正しくコンパイルされないことです。したがって、それらが呼び出されると、上記の例外がスローされます。方法はこちら。Battery$BatteryFields$1.parse
注意:Helpersプロジェクトをサーブレット プロジェクトに直接追加しても、例外は回避されません。MonitoringModel.parse()呼び出し時に後者がmonitoringmodel.jar
のHelpers.listToString()どこにも見つからない、例外がスローされます。Helpers MonitoringModel