jak dodać jary dependencji do wynikowego jara w gradlu

0

Zaczynam poznawać gradle. Czytam tutoriale. Jednak natrafiłem na mały problem, który pewnie dla was będzie trywialny do rozwiązania lecz ja nie znalazłem rozwiązania, które by zadziałało (bo samych niby-rozwiązań tego problemu znalazłem kilka).

Mianowicie mam jedną, prostą jak konstrukcja cepa, klasę Game.java z metodą main():

package kkk;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Game {
	public static void main(String[] args) {
		new Game();
	}

	public Game() {
		LOGGER.info("Works!");
	}

	private static final Logger LOGGER = LoggerFactory.getLogger(Game.class);
}

oraz build.gradle

group 'kkk'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile('org.slf4j:slf4j-api:1.7.21')
    compile('org.slf4j:slf4j-simple:1.7.21')
    testCompile('junit:junit:4.12')
}

jar {
    manifest {
        attributes('Main-Class' : 'kkk.Game')
    }
}

Przy próbie zbudowania jara, sam jar się oczywiście tworzy ale tak jakby był bez dependencji w środku, bo już przy próbie uruchomienia go:
java -jar nazwa_jara_wersja.jar
to otrzymuję komunikat:

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
        at kkk.Game.<clinit>(Game.java:20)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 1 more

A pytanie wiadomo jakie będzie. Co dopisać, by budowany jar zawierał wszystkie potrzebne dependencje?

0

@Pinek Rozwiązanie z drugiego linku pomogło. Dzięki wielkie

1 użytkowników online, w tym zalogowanych: 0, gości: 1