java
Table of Contents
Java
Gradle
Initializing a Gradle project
$ mkdir TestGradle $ cd $_ $ gradle init --type java-application --dsl groovy Enter target Java version (min: 7, default: 21): Project name (default: TestGradle): Select application structure: 1: Single application project 2: Application and library project Enter selection (default: Single application project) [1..2] 1 Select test framework: 1: JUnit 4 2: TestNG 3: Spock 4: JUnit Jupiter Enter selection (default: JUnit Jupiter) [1..4] 1 Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no] yes > Task :init To learn more about Gradle by exploring our Samples at https://docs.gradle.org/8.8/samples/sample_building_java_applications.html BUILD SUCCESSFUL in 8s 1 actionable task: 1 executed $ gradle build gradle run
To pass arguments, use the “–args=” command line option like this: “gradle run –args='arg1 arg2 arg3'”
Spring Boot Console Application
//
// app/build.gradle
//
plugins {
id 'application'
id "org.springframework.boot" version "3.3.5"
id 'io.spring.dependency-management' version '1.1.6'
}
repositories {
mavenCentral()
}
dependencies {
implementation libs.guava
implementation 'org.springframework.boot:spring-boot-starter'
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
application {
mainClass = 'org.example.App'
}
//
// app/src/main/java/org/example/App.java
//
package org.example;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.logging.Logger;
import org.springframework.stereotype.Component;
import org.springframework.beans.factory.annotation.Autowired;
@Component
class MyComponent {
public void doSomething() { System.out.println("Moo"); }
}
@SpringBootApplication
public class App implements CommandLineRunner {
private static Logger log = Logger.getLogger(App.class.getName());
@Autowired
MyComponent myComponent;
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
@Override
public void run(String... args) {
log.info("Running.");
myComponent.doSomething();
}
}
A Command Line Runner application can take advantage of auto-wiring by Spring.
Gradle Jobs with Different gradle-user-home
gradle -g $PWD build gradle -g $PWD run --args='something'
This is to work around the “Timeout waiting to lock artifact cache” and “Starting a Gradle Daemon, 1 busy and 1 stopped Daemons could not be reused, use –status for details” (Also try “gradle –stop” and “gradle –status”).
Setting the gradle-user-home creates the following subdirectories in the specific directory: caches, daemon, jdks, native, notification
java.txt · Last modified: by reddy
