Apache Maven 1.x has reached its end of life, and is no longer supported. For more information, see the announcement. Users are encouraged to migrate to the current version of Apache Maven.

Jar Settings

PropertyOptional?Description
maven.jar.final.name Yes Name of the generated JAR file. Defaults to ${maven.final.name}.jar.
maven.jar.excludes Yes Specifies a list of patterns to exclude from the jar process. The default value is **/package.html, and is used by the jar:jar goal.
maven.jar.includes Yes Specifies a list of patterns to include with the jar process. The default value is null.
maven.jar.index Yes Whether to create an index list to speed up classloading. This is a JDK 1.3+ specific feature. Defaults to false.
maven.jar.manifest Yes Specifies the manifest to be used in the creation of a jar. This file is 'merged' with the default manifest created by Maven. Any values specified in the file referenced by this property will override Maven's defaults.
maven.jar.manifest.classpath.add Yes Tells Maven to add classpath information to the jar manifest. This can cause some applications to break, so it has been disabled by default. Set to true to enable classpath information. Only the dependency jars that have the property jar.manifest.classpath set to true will be added to the classpath information.
maven.jar.manifest.extensions.add Yes Tells Maven to add extension information to the jar manifest. This can cause some applications to break, so it has been disabled by default. An Implementation-Vendor-Id attribute will be added for each dependency that has a <vendorId> element set in its <properties> section. Set to true to enable extension information.
maven.jar.mainclass Yes Specifies the Main-Class attribute for your manifest. If not set, no Main-Class attribute will be added to the manifest.
maven.jar.compress Yes Not only store data but also compress them, defaults to true.
maven.jar.manifest.attributes.list Yes Used by the jar:jar goal to define additional attributes to add to the manifest in addition to the other entries already added. Sample:
maven.jar.manifest.attributes.list = Foo-Attribute,Bar-Attribute
maven.jar.manifest.attribute.Foo-Attribute = I like bread and butter
maven.jar.manifest.attribute.Bar-Attribute = I like toast and jam
              
maven.jar.manifest.groups.list Yes Used by the jar:jar goal to define sections/groups for the manifest. You can use this to seal classes and add custom attributes to particular packages. Sample:
maven.jar.manifest.groups.list = MyClass,MyPackage
maven.jar.manifest.MyClass.name = /com/mycompany/MyClass.class
maven.jar.manifest.MyClass.attributes.list = Sealed,Custom
maven.jar.manifest.MyClass.attribute.Sealed = true
maven.jar.manifest.MyClass.attribute.Custom = Anything I want

maven.jar.manifest.MyPackage.name = /com/mycompany/special
maven.jar.manifest.MyPackage.attributes.list = Sealed
maven.jar.manifest.MyPackage.attribute.Sealed = true
              

Deploy Settings

PropertyOptional?Description
maven.repo.central Yes Central repository for maven artifacts.
maven.repo.central.directory Yes Directory to deploy jars into on the remote repository.
maven.repo.local Yes The local repository to store maven artifacts, including jar file dependencies.
maven.username Yes This is the user name used to log in to the remote repository.
maven.remote.group Yes The name of the Unix group that should own deployed artifacts. Default to maven.

Other Settings

PropertyOptional?Description
maven.build.dest Yes The directory for compiled classes.
maven.build.dir Yes Used by the jar:jar goal for
  • a temporary manifest file, if one is not specified
  • the assembled jar file
maven.dependency.classpath Yes This property holds the Ant path of all the dependent jar files listed in the dependencies block of your project descriptor.
maven.final.name Yes Usually this property is set to ${pom.artifactId}-${pom.currentVersion} but the snapshot goal overwrites it to be the snapshot signature.
user.name Yes Used by the jar:jar goal as the default value of the Built-By attribute of the manifest if one is not specified.