jar:test-jar
Full name:
org.apache.maven.plugins:maven-jar-plugin:3.3.0:test-jar
Description:
Build a JAR of the test classes for the current project.
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope:
test
. - The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase:
package
.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<outputDirectory> |
File |
- |
Directory containing the generated JAR. Default value is: ${project.build.directory} . |
<testClassesDirectory> |
File |
- |
Directory containing the test classes and resource files that
should be packaged into the JAR. Default value is: ${project.build.testOutputDirectory} . |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<archive> |
MavenArchiveConfiguration |
- |
The archive configuration to use. See Maven
Archiver Reference. |
<classifier> |
String |
- |
Classifier to use for test-jar .Default value is: tests . |
<excludes> |
String[] |
- |
List of files to exclude. Specified as fileset patterns which are
relative to the input directory whose contents is being packaged
into the JAR. |
<forceCreation> |
boolean |
- |
Require the jar plugin to build a new JAR even if none of the
contents appear to have changed. By default, this plugin looks to
see if the output jar exists and inputs have not changed. If these
conditions are true, the plugin skips creation of the jar. This
does not work when other plugins, like the maven-shade-plugin, are
configured to post-process the jar. This plugin can not detect the
post-processing, and so leaves the post-processed jar in place.
This can lead to failures when those plugins do not expect to find
their own output as an input. Set this parameter to true
to avoid these problems by forcing this plugin to recreate the jar
every time.Starting with 3.0.0 the property has been renamed from jar.forceCreation to
maven.jar.forceCreation .Default value is: false .User property is: maven.jar.forceCreation . |
<includes> |
String[] |
- |
List of files to include. Specified as fileset patterns which are
relative to the input directory whose contents is being packaged
into the JAR. |
<outputTimestamp> |
String |
3.2.0 |
Timestamp for reproducible output archive entries, either formatted
as ISO 8601 extended offset date-time (e.g. in UTC such as
'2011-12-03T10:15:30Z' or with an offset
'2019-10-05T20:37:42+06:00'), or as an int representing seconds
since the epoch (like SOURCE_DATE_EPOCH). Default value is: ${project.build.outputTimestamp} . |
<skip> |
boolean |
- |
Set this to true to bypass test-jar generation. Its
use is NOT RECOMMENDED, but quite convenient on occasion.User property is: maven.test.skip . |
<skipIfEmpty> |
boolean |
- |
Skip creating empty archives. Default value is: false . |
<useDefaultManifestFile> |
boolean |
- |
Deprecated. For version 3.0.0 this parameter is only defined here to break the
build if you use it! Default value is: false .User property is: jar.useDefaultManifestFile . |
Parameter Details
<archive>
The archive configuration to use. See Maven
Archiver Reference.
- Type:
org.apache.maven.archiver.MavenArchiveConfiguration
- Required:
No
<classifier>
Classifier to use for
test-jar
.- Type:
java.lang.String
- Required:
No
- Default:
tests
<excludes>
List of files to exclude. Specified as fileset patterns which are
relative to the input directory whose contents is being packaged
into the JAR.
- Type:
java.lang.String[]
- Required:
No
<forceCreation>
Require the jar plugin to build a new JAR even if none of the
contents appear to have changed. By default, this plugin looks to
see if the output jar exists and inputs have not changed. If these
conditions are true, the plugin skips creation of the jar. This
does not work when other plugins, like the maven-shade-plugin, are
configured to post-process the jar. This plugin can not detect the
post-processing, and so leaves the post-processed jar in place.
This can lead to failures when those plugins do not expect to find
their own output as an input. Set this parameter to
Starting with 3.0.0 the property has been renamed from
true
to avoid these problems by forcing this plugin to recreate the jar
every time.Starting with 3.0.0 the property has been renamed from
jar.forceCreation
to
maven.jar.forceCreation
.- Type:
boolean
- Required:
No
- User Property:
maven.jar.forceCreation
- Default:
false
<includes>
List of files to include. Specified as fileset patterns which are
relative to the input directory whose contents is being packaged
into the JAR.
- Type:
java.lang.String[]
- Required:
No
<outputDirectory>
Directory containing the generated JAR.
- Type:
java.io.File
- Required:
Yes
- Default:
${project.build.directory}
<outputTimestamp>
Timestamp for reproducible output archive entries, either formatted
as ISO 8601 extended offset date-time (e.g. in UTC such as
'2011-12-03T10:15:30Z' or with an offset
'2019-10-05T20:37:42+06:00'), or as an int representing seconds
since the epoch (like SOURCE_DATE_EPOCH).
- Type:
java.lang.String
- Since:
3.2.0
- Required:
No
- Default:
${project.build.outputTimestamp}
<skip>
Set this to
true
to bypass test-jar generation. Its
use is NOT RECOMMENDED, but quite convenient on occasion.- Type:
boolean
- Required:
No
- User Property:
maven.test.skip
<skipIfEmpty>
Skip creating empty archives.
- Type:
boolean
- Required:
No
- Default:
false
<testClassesDirectory>
Directory containing the test classes and resource files that
should be packaged into the JAR.
- Type:
java.io.File
- Required:
Yes
- Default:
${project.build.testOutputDirectory}
<useDefaultManifestFile>
Deprecated. For version 3.0.0 this parameter is only defined here to break the
build if you use it!
Using this property will fail your build cause it has been removed
from the plugin configuration. See the Major
Version Upgrade to version 3.0.0 for the plugin.
- Type:
boolean
- Required:
No
- User Property:
jar.useDefaultManifestFile
- Default:
false