Java: тонкий jar со всеми зависимостями - PullRequest
1 голос
/ 07 апреля 2019

Предполагается, что у меня есть следующие классы Java:

Foo.java:

package my.small.question;
import my.common.stuff.Bar;
public class Foo {

    private Bar bar;

    public Foo(Bar bar) {
        this.bar = bar;
        bar.init();
    }
}

Bar.java:

package my.common.stuff;
import my.algorithms.SpecialSauce;
public class Bar {

    private SpecialSauce yum;

    public Bar() {
        this.yum = new SpecialSauce(888) ;
        yum.bake();
    }
}

Если я хочу создать один исполняемый jar из Foo.class, мне нужно иметь в нем зависимые пакеты - Bar.class & SpecialSauce.class НО общий пакет имеет много других классов (Baz.class, Baq.class и т. Д.)...), которые не используются ни в какой форме потока Foo.class, а также в пакете my.algorithms есть много других ненужных алгоритмов - у вас есть идея ...

Мой вопрос

Как автоматически (инструмент?) Я могу сделать тонкий jar из Foo.java , который будет содержать только обязательные классы и их зависимости (рекурсивно) и ничего больше?

...