Gradle

  • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ gradle init. Но ΠΎΠ½ создаСт Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ структуру Π½Π΅ΠΆΠ΅Π»ΠΈ я ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ.
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ wrapper - gradle wrapper.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ build.gradle

Π—Π΄Π΅ΡΡŒ:

  • БСкция application Π½ΡƒΠΆΠ½Π° для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° run.
  • БСкция jar Π½ΡƒΠΆΠ½Π° для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΌ jar Ρ„Π°ΠΉΠ»Π΅ сформировался Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ манифСст с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ класс.
  • Плагин com.github.johnrengelman.shadow обСспСчиваСт сборку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² shadowJar.
plugins {
    id 'java'
    id 'application'
    id 'com.github.johnrengelman.shadow' version '8.1.1'
}
 
group 'ru.mak_sim'
version '1.0-SNAPSHOT'
 
repositories {
    mavenCentral()
}
 
application {
    mainClass = 'ru.mak_sim.Hello'
}
 
jar {
    manifest {
        attributes(
                'Main-Class': 'ru.mak_sim.Hello'
        )
    }
}
 
dependencies {
  implementation 'org.apache.logging.log4j:log4j-api:2.20.0'
  implementation 'org.apache.logging.log4j:log4j-core:2.20.0'
}