仅在导入的类中导出Eclipse中的可运行JAR

时间:2017-09-06 16:54:02

标签: java eclipse jar

我有一个Eclipse项目,其中包含我在其他项目中使用的类和接口。多年来,这个代码库已经发展得相当大。我遇到的问题是当我将项目导出到可运行的JAR时,Eclipse将从我的代码库复制每个类文件,即使我只从它导入一个简单的类。

示例:我的代码库由类文件codebase/Car.classcodebase/House.classcodebase/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();
    }
}

是否可以仅使用project/App.classcodebase/Car.classcodebase/House.class(但不使用codebase/Garage.class导出我的项目,因为它未被使用),或者我是否必须编写自定义构建脚本?

1 个答案:

答案 0 :(得分:1)

如果您的主项目是使用maven构建的,则可以使用Apache maven-shade-plugin,尤其是最小化功能来完成工作。我已经使用它多年了,它总是做得很好。它将构建一个包含所有实际类的大jar,它不仅会从您自己的jar中驱逐类,还会从已部署的标准库中驱逐类。