私は非常に奇妙な状況にあります。私は、それらを構築するためにtychoとmavenを使用しているEclipseプラグインプロジェクトのセットを持っています。プロジェクトの 1 つで JDBC ドライバーを使用しました。このプロジェクトをテストするためのテスト プラグインがあります。com.mysql.jdbc プラグインが eclipse p2 リポジトリーで利用できなかった (そして、独自の p2 がない) ため、jdbc プラグインをインポートして OSGi プラグインを作成し、ローカル プラグインに依存関係を追加しました。
私は複数のEclipseワークスペースを用意しています。テストと jdbc プラグインを作成した最初のワークスペースでのみ、eclipse run as -> Junit test コマンドを使用して実行すると、junit テストが機能します。他の人や私がソース コードをチェックアウトして、別のワークスペースでテストを実行しようとすると、次の例外がスローされます。
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
また、tycho 統合テスト (mvn integration-test を実行) を使用してみましたが、どちらも機能せず、同じ例外が発生します。私はこれをたくさん検索しようとしましたが、答えを見つけることができませんでした。
更新: ティコの問題ではないと思います。com.jdbc.mysql jar に基づいて Eclipse プラグインを作成しようとしました。これを作成したワークスペースは正常に動作しています。しかし、コードをコミットしてプロジェクトを別のワークスペースにインポートするとすぐに、テストが機能しなくなります。すべての設定は 2 つのワークスペース間で同じです。1 つが機能し、もう 1 つが ClassNotFound 例外を取得します!