Java Plugin

Gradle ships with a number of plugins, One such plugin is the Java plugin.

Java Project

  • compile java source files
  • run some unit tests
  • create a JAR file containing your classes.

Java plugin - tasks

gradle-Java plugin - 图1

applying java

  • compileJava
    • compiles all the Java source files under src/main/java
  • compileTestJava
    • for source files under src/test/java
  • test
    • runs the tests from src/test/java
  • jar
    • packages the main compiled classes and resources from src/main/resources into a single JAR named -.jar
  • javadoc
    • generates Javadoc for the main classes

Java plugin is convention based.

  • defines default values for many aspects of the project:such as where the Java source files are located.
  • Gradle allows you to customize your project if you don’t want to or cannot follow the convention in some way.
  • you don’t have to use the plugin at all to build a Java project, if you don’t want to.

Introducing Compile-Only Dependencies

refer to compileOnly

  • similarly to Maven’s provided scope
  • allowing you to declare non-transitive dependencies used only at compilation time.
  • use cases
    • Dependencies required at compile time but never required at runtime, such as source-only annotations or annotation processors;
    • Dependencies required at compile time but required at runtime only when using certain features, a.k.a. optional dependencies;
    • Dependencies whose API is required at compile time but whose implementation is to be provided by a consuming library, application or runtime environment.