# Class JavaLibraryPlugin

java.lang.Object
org.gradle.api.plugins.JavaLibraryPlugin

All Implemented Interfaces:
  `Plugin<Project>`

@Incubating public class JavaLibraryPlugin extends Object implements Plugin<Project>

A `Plugin` which extends the capabilities of the `Java plugin` by cleanly separating the API and implementation dependencies of a library.

Since:
  3.4

## Constructor Summary

Constructors
Constructor
Description
`JavaLibraryPlugin(ObjectFactory objectFactory)`

## Method Summary

Modifier and Type
Method
Description
`void`
`apply(Project project)`
Apply this plugin to the given target object.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### JavaLibraryPlugin

@Inject public JavaLibraryPlugin(ObjectFactory objectFactory)

## Method Details

### apply

public void apply(Project project)
Description copied from interface: `Plugin`
Apply this plugin to the given target object.

Specified by:
  `apply` in interface `Plugin<Project>`
Parameters:
  `project` - The target object