2017-09-06 11 views
0

他のプロジェクトで使用するクラスとインターフェイスを含むEclipseプロジェクトがあります。このコードベースは長年にわたってかなり大きくなっています。私が持っている問題は、実行可能なJARにプロジェクトをエクスポートするときです。Eclipseは、単純なクラスをインポートするだけで、すべてのクラスファイルを自分のコードベースからコピーします。Eclipseで実行可能なJARをインポートしたクラスのみでエクスポートする

例:私のコードベースは、クラスファイルcodebase/Car.class,codebase/House.classおよびcodebase/Garage.classで構成されています。別のプロジェクトでは、私はこのように見て、ソースファイルproject/App.javaを持っている:

import codebase.Car; 
import codebase.House; 

public class App 
{ 
    public static void main(String[] args) 
    { 
     Car car = new Car(); 
     House house = new House(); 
    } 
} 

は(それが使用されていないことから、ではなくcodebase/Garage.class付き)のみproject/App.classcodebase/Car.classcodebase/House.classで私のプロジェクトをエクスポートすることが可能であり、またはカスタムビルドスクリプトを書く必要がありますか?

+1

私が知っている限り、Eclipse用にはうまくいかないことは分かっていますが、それはjarパッケージングシステムであり、依存性チェックはありません。 –

+1

これは仕様です。これは、Eclipse内と同じ環境を得るためです。 –

答えて

1

メインプロジェクトがmavenでビルドされている場合は、Apache maven-shade-plugin、特に最小化機能を使用してジョブを実行できます。私は今何年もそれを使用しており、それは常に良い仕事をしました。実際に使用されているすべてのクラスを含む1つの大きなジャーを構築し、自分のjarファイルからクラスを削除するだけでなく、デプロイされた標準ライブラリからクラスを削除します。

関連する問題