rar:rar

Full name:

org.apache.maven.plugins:maven-rar-plugin:3.0.0:rar

Description:

Builds J2EE Resource Adapter Archive (RAR) files.

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 - The directory for the generated RAR.
Default value is: ${project.build.directory}.
<rarSourceDirectory> File - Single directory for extra files to include in the RAR.
Default value is: ${basedir}/src/main/rar.
<workDirectory> String - Directory that resources are copied to during the build.
Default value is: ${project.build.directory}/${project.build.finalName}.

Optional Parameters

Name Type Since Description
<archive> MavenArchiveConfiguration - The archive configuration to use. See Maven Archiver Reference.
<classifier> String 2.4 Classifier to add to the artifact generated. If given, the artifact will be attached. If this is not given, it will merely be written to the output directory according to the finalName.
User property is: maven.rar.classifier.
<delimiters> LinkedHashSet 2.3

Set of delimiters for expressions to filter within the resources. These delimiters are specified in the form 'beginToken*endToken'. If no '*' is given, the delimiter is assumed to be the same for start and end.

So, the default filtering delimiters might be specified as:

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>

Since the '@' delimiter is the same on both ends, we don't need to specify '@*@' (though we can).


<encoding> String 2.3 (no description)
Default value is: ${project.build.sourceEncoding}.
User property is: encoding.
<escapeString> String 2.3 Expression preceded with the String won't be interpolated \${foo} will be replaced with ${foo}
User property is: maven.resources.escapeString.
<escapeWindowsPaths> boolean 2.3 Whether to escape backslashes and colons in windows-style paths.
Default value is: true.
User property is: maven.resources.escapeWindowsPaths.
<filterRarSourceDirectory> boolean 2.3 allow filtering of link{rarSourceDirectory}
Default value is: false.
User property is: maven.rar.filterRarSourceDirectory.
<filters> List 2.3

The list of extra filter properties files to be used along with System properties, project properties, and filter properties files specified in the POM build/filters section, which should be used for the filtering during the current mojo execution.

Normally, these will be configured from a plugin's execution section, to provide a different set of filters for a particular execution. For instance, starting in Maven 2.2.0, you have the option of configuring executions with the id's default-resources and default-testResources to supply different configurations for the two different types of resources. By supplying extraFilters configurations, you can separate which filters are used for which type of resource.


<includeEmptyDirs> boolean 2.3 Copy any empty directories included in the Resources.
Default value is: false.
User property is: maven.resources.includeEmptyDirs.
<includeJar> Boolean - Specify if the generated jar file of this project should be included in the rar file ; default is true.
Default value is: true.
<manifestFile> File - The location of the manifest file to be used within the rar file.
Default value is: ${basedir}/src/main/rar/META-INF/MANIFEST.MF.
<nonFilteredFileExtensions> List 2.3 Additional file extensions to not apply filtering (already defined are : jpg, jpeg, gif, bmp, png)
<outputTimestamp> String 3.0.0 Timestamp for reproducible output archive entries, either formatted as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
Default value is: ${project.build.outputTimestamp}.
<overwrite> boolean 2.3 Overwrite existing files even if the destination files are newer.
Default value is: false.
User property is: maven.resources.overwrite.
<raXmlFile> File - The location of the ra.xml file to be used within the rar file.
Default value is: ${basedir}/src/main/rar/META-INF/ra.xml.
<rarResources> List 2.3 extra resource to include in rar archive
<skip> boolean 2.4 To skip execution of the rar mojo.
User property is: maven.rar.skip.
<supportMultiLineFiltering> boolean 2.3 stop searching endToken at the end of line
Default value is: false.
User property is: maven.resources.supportMultiLineFiltering.
<useDefaultDelimiters> boolean 2.3 (no description)
Default value is: true.
<warnOnMissingRaXml> boolean 2.3 Whether or not warn if the ra.xml file is missing. Set to false if you want you RAR built without a ra.xml file. This may be useful if you are building against JCA 1.6 or later.
Default value is: true.
User property is: maven.rar.warnOnMissingRaXml.

Parameter Details

<archive>

The archive configuration to use. See Maven Archiver Reference.
  • Type: org.apache.maven.archiver.MavenArchiveConfiguration
  • Required: No

<classifier>

Classifier to add to the artifact generated. If given, the artifact will be attached. If this is not given, it will merely be written to the output directory according to the finalName.
  • Type: java.lang.String
  • Since: 2.4
  • Required: No
  • User Property: maven.rar.classifier

<delimiters>

Set of delimiters for expressions to filter within the resources. These delimiters are specified in the form 'beginToken*endToken'. If no '*' is given, the delimiter is assumed to be the same for start and end.

So, the default filtering delimiters might be specified as:

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>

Since the '@' delimiter is the same on both ends, we don't need to specify '@*@' (though we can).

  • Type: java.util.LinkedHashSet
  • Since: 2.3
  • Required: No

<encoding>

(no description)
  • Type: java.lang.String
  • Since: 2.3
  • Required: No
  • User Property: encoding
  • Default: ${project.build.sourceEncoding}

<escapeString>

Expression preceded with the String won't be interpolated \${foo} will be replaced with ${foo}
  • Type: java.lang.String
  • Since: 2.3
  • Required: No
  • User Property: maven.resources.escapeString

<escapeWindowsPaths>

Whether to escape backslashes and colons in windows-style paths.
  • Type: boolean
  • Since: 2.3
  • Required: No
  • User Property: maven.resources.escapeWindowsPaths
  • Default: true

<filterRarSourceDirectory>

allow filtering of link{rarSourceDirectory}
  • Type: boolean
  • Since: 2.3
  • Required: No
  • User Property: maven.rar.filterRarSourceDirectory
  • Default: false

<filters>

The list of extra filter properties files to be used along with System properties, project properties, and filter properties files specified in the POM build/filters section, which should be used for the filtering during the current mojo execution.

Normally, these will be configured from a plugin's execution section, to provide a different set of filters for a particular execution. For instance, starting in Maven 2.2.0, you have the option of configuring executions with the id's default-resources and default-testResources to supply different configurations for the two different types of resources. By supplying extraFilters configurations, you can separate which filters are used for which type of resource.

  • Type: java.util.List
  • Since: 2.3
  • Required: No

<includeEmptyDirs>

Copy any empty directories included in the Resources.
  • Type: boolean
  • Since: 2.3
  • Required: No
  • User Property: maven.resources.includeEmptyDirs
  • Default: false

<includeJar>

Specify if the generated jar file of this project should be included in the rar file ; default is true.
  • Type: java.lang.Boolean
  • Required: No
  • Default: true

<manifestFile>

The location of the manifest file to be used within the rar file.
  • Type: java.io.File
  • Required: No
  • Default: ${basedir}/src/main/rar/META-INF/MANIFEST.MF

<nonFilteredFileExtensions>

Additional file extensions to not apply filtering (already defined are : jpg, jpeg, gif, bmp, png)
  • Type: java.util.List
  • Since: 2.3
  • Required: No

<outputDirectory>

The directory for the generated RAR.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.directory}

<outputTimestamp>

Timestamp for reproducible output archive entries, either formatted as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
  • Type: java.lang.String
  • Since: 3.0.0
  • Required: No
  • Default: ${project.build.outputTimestamp}

<overwrite>

Overwrite existing files even if the destination files are newer.
  • Type: boolean
  • Since: 2.3
  • Required: No
  • User Property: maven.resources.overwrite
  • Default: false

<raXmlFile>

The location of the ra.xml file to be used within the rar file.
  • Type: java.io.File
  • Required: No
  • Default: ${basedir}/src/main/rar/META-INF/ra.xml

<rarResources>

extra resource to include in rar archive
  • Type: java.util.List
  • Since: 2.3
  • Required: No

<rarSourceDirectory>

Single directory for extra files to include in the RAR.
  • Type: java.io.File
  • Required: Yes
  • Default: ${basedir}/src/main/rar

<skip>

To skip execution of the rar mojo.
  • Type: boolean
  • Since: 2.4
  • Required: No
  • User Property: maven.rar.skip

<supportMultiLineFiltering>

stop searching endToken at the end of line
  • Type: boolean
  • Since: 2.3
  • Required: No
  • User Property: maven.resources.supportMultiLineFiltering
  • Default: false

<useDefaultDelimiters>

(no description)
  • Type: boolean
  • Since: 2.3
  • Required: No
  • Default: true

<warnOnMissingRaXml>

Whether or not warn if the ra.xml file is missing. Set to false if you want you RAR built without a ra.xml file. This may be useful if you are building against JCA 1.6 or later.
  • Type: boolean
  • Since: 2.3
  • Required: No
  • User Property: maven.rar.warnOnMissingRaXml
  • Default: true

<workDirectory>

Directory that resources are copied to during the build.
  • Type: java.lang.String
  • Required: Yes
  • Default: ${project.build.directory}/${project.build.finalName}