标签: maven-assembly-plugin

禁用执行:default-jar

我正在使用maven程序集插件来打包一个jar文件.但是当我运行时mvn package,maven总是触发[jar:jar {execution:default-jar}]来创建一个默认的jar文件.所以我将有2个jar文件(一个由程序集插件创建,另一个由maven jar创建,我不想创建).如何关闭执行:default-jar.

在我的pom.xml中,我正在使用: <packaging>jar</packaging>.我不想改变它<packaging>pom</packaging>.

maven-2 jar maven maven-assembly-plugin maven-jar-plugin

17
推荐指数
1
解决办法
1万
查看次数

操纵项目版本属性以删除SNAPSHOT?

我有一个版本0.0.1-SNAPSHOT的项目,当我们通过TeamCity构建它时,我们还得到一个build.vcs.number属性,这是触发构建的Subversion修订版.

在我们的程序集中,我们创建一个名为foo-distribution-0.0.1-SNAPSHOT.zip的zip文件,但我想知道是否有一种方法可以将build.vcs.number属性插入到工件名称中以给foo- distribution-0.0.1.12345-SNAPSHOT.zip?

是否有内置属性只是版本号的数字部分,或者其他一些分割-SNAPSHOT部分的方法?

编辑:我已经尝试将pom.xml版本设置为$ {my.version} -SNAPSHOT,然后在属性中定义my.version - 这适用于除了Maven Release Plugin之外的任何情况,它抱怨它无法解析版本(可以理解,它不能自动猜测下一个开发版本).

maven maven-assembly-plugin teamcity-7.0

17
推荐指数
1
解决办法
1万
查看次数

使用Maven程序集插件组合Jar-with-dependencies和ZIP文件

我想将我在JAR中的源代码与所有依赖项结合起来,并将其与其他文件一起打包成一个zip文件.我能够创建一个包含所有依赖项的Jar以及ZIP文件,但我无法将两者结合起来.

我最终想要zip文件中的以下目录结构:

装载机/斌/ shellscript.sh

装载器/ LIB /罐与 - dependencies.jar

装载器/应用程序的名字/配置/ config.xml中

这是我的pom文件的摘录:

<plugins>
    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                       <mainClass>fully.qualified.MainClass</mainClass>
                    </manifest>
                 </archive>
                 <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                 </descriptorRefs>
                 <descriptors>
                    <descriptor>src/main/assembly/assembly.xml</descriptor>
                 </descriptors>
              </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

这是我装配的摘录

<assembly>
    <id>bin</id>
    <!-- Specifies that our binary distribution is a zip package -->
    <formats>
        <format>zip</format>
    </formats>

    <baseDirectory>SpreadsheetLoaderApp</baseDirectory>

    <fileSets>
        <fileSet>
            <directory>corporatebondpurchases</directory>
            <outputDirectory>${basedir}/corporatebondpurchases/config</outputDirectory>
            <includes>
                <include>*.xml</include>
                <include>*.properties</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>corporatebondpurchases</directory>
            <outputDirectory>${basedir}/bin</outputDirectory>
            <includes>
                <include>*.sh</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>
Run Code Online (Sandbox Code Playgroud)

以下是部分构建的输出:

[INFO] --- maven-assembly-plugin:2.4:single (default-cli) @ SpreadsheetLoader ---
[INFO] Reading assembly descriptor: src/main/assembly/assembly.xml
[INFO] Building …
Run Code Online (Sandbox Code Playgroud)

java jar maven maven-assembly-plugin

17
推荐指数
1
解决办法
7127
查看次数

Maven - 资源过滤:资源文件中@符号的含义

我正在使用Maven程序集插件为不同的环境准备一些配置工件,我使用资源过滤来替换参数值.

我遇到了一个奇怪的行为,我有一个属性文件,其内容如下:


###########################

#author.name@company.com#

############################

env.name = $ {} replacement.value


作者电子邮件的"@"符号的存在导致所有属性引用被忽略.

我试图寻找文件,说明为什么会发生这种情况 - 但找不到任何可以解决这种问题的方法.任何有用的指向文档或解释的指针将非常感激.

以供参考:

  1. Maven版本:2.2.1
  2. Maven Assembly插件版本:2.2

maven-2 filtering maven-assembly-plugin

16
推荐指数
3
解决办法
1万
查看次数

Maven Assembly Plugin未设置MainClass清单设置

我有一个maven项目,它通过我希望作为控制台应用程序运行的maven程序集插件生成一个jar .但是,未在MANIFEST.MF中设置MainClass属性.这是我的插件配置:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2.1</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>net.justaprogrammer.poi.cleanser.Cleanser</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

但是,这不会被添加到生成的jar中的MANIFEST.MF中mvn package.生成的清单如下:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: zippy
Build-Jdk: 1.6.0_25
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

maven-2 maven-assembly-plugin

16
推荐指数
2
解决办法
2万
查看次数

如何在maven shade插件中设置清单类路径?

我正在使用shade插件,除了能够为manifest via设置Class-Path之外,一切正常

 <transformer 
        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
        <mainClass>com.generic.App</mainClass>  
        <classPath>. ./config</classPath>                           
    </transformer>
Run Code Online (Sandbox Code Playgroud)

我明白了

 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.1:shade (default)              on project SpringThing: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:2.1:shade for parameter transformer: Cannot find setter, adder nor field in org.apache.maven.plugins.shade.resource.ManifestResourceTransformer for 'classPath' -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

看文件

http://maven.apache.org/plugins/maven-shade-plugin/apidocs/org/apache/maven/plugins/shade/resource/ManifestResourceTransformer.html

应该能够解析任何有效的清单资源吗?我试过clss-path Class-Path ClassPath什么都行不通......

我需要classpath来设置外部app属性文件的位置.

由于一个众所周知的问题,我使用的是阴影插件而不是汇编:

http://blog.idm.fr/2009/09/maven-assembly-plugin-and-spring-namespace-handlers.html

顺便说一下,我可以很容易地在装配中做到这一点:(并且它有效)

 <manifestEntries>
  <Class-Path>. ./config</Class-Path>
 </manifestEntries>
Run Code Online (Sandbox Code Playgroud)

我不能通过maven使用oneJar插件,因为你也无法设置清单条目.(我不认为?)

有任何想法吗?

manifest classpath maven maven-assembly-plugin maven-shade-plugin

16
推荐指数
1
解决办法
2万
查看次数

使用Maven创建一个包含所有依赖项的zip

可能重复:
使用Maven,我如何构建一个包含我的项目jar和所有依赖jar的distributable?

也许我是盲人,但maven组件插件可以创建一个包含当前project.jar和所有依赖jar的zip文件吗?"bin"id只包含我的project.jar,jar-with-dependencies将所有内容放在一个我不喜欢的jar中.

maven maven-assembly-plugin

15
推荐指数
1
解决办法
3万
查看次数

maven程序集插件模块集源指令不包括任何文件,也不匹配包含的模块

我有一个多模块maven项目,我正在尝试使组件插件的模块集源部分工作.

我有模块" module_parent "," module_a "和" module_assembly ".

module_amodule_assemblymodule_parent的节点.

module_assemblymodule_a上有一个声明的pom依赖.

module_assmebly有程序集插件,assembly.xml看起来像:

<?xml version="1.0"?>
<assembly>
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>com.mystuff:module_a</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <outputDirectory>/</outputDirectory>
            <excludes>
              <exclude>**/target/**</exclude>
            </excludes>
            <directory>/</directory>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
  </moduleSets>
</assembly> <!-- -->
Run Code Online (Sandbox Code Playgroud)

我对module_a的module_assembly有一个显式依赖.module_assembly的pom中的依赖关系如下:

<dependencies>
    <dependency>
        <groupId>com.mystuff</groupId>
        <artifactId>module_a</artifactId>
        <version>1.0</version>
        <type>pom</type>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

我打开调试时从mvn包获得的错误是:

[DEBUG] All known ContainerDescritporHandler components: [metaInf-services, plexus, metaInf-spring, file-aggregator]
[DEBUG] No dependency sets specified.
[WARNING] The …
Run Code Online (Sandbox Code Playgroud)

java maven maven-assembly-plugin

15
推荐指数
1
解决办法
2万
查看次数

Maven无法编译java 1.8

我正在尝试使用maven来构建一个jar但我不断收到错误

ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile 
(default-compile) on project Application: Fatal error compiling: invalid target release: 1.8 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Run Code Online (Sandbox Code Playgroud)

mvn -v输出

mvn -version
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T09:29:23-08:00)
Maven …
Run Code Online (Sandbox Code Playgroud)

maven maven-assembly-plugin maven-shade-plugin

15
推荐指数
5
解决办法
7万
查看次数

组装WAR的Maven错误:使用纯Java Based Configuration构建SpringMVC项目并且没有xml时需要webxml属性

我正在开发一个纯Java基于配置的Spring MVC项目.当我进行Maven清理安装时,我收到以下错误.

无法在项目上执行目标org.apache.maven.plugins:maven-war-plugin:2.2:war(default-war)SpringMVC-ShoppingCart:组装WAR时出错:需要webxml属性(或预先存在的WEB-INF/web .xml如果在更新模式下执行) - > [帮助1]

该错误表示web.xml缺少,但由于我使用的是基于纯Java的配置,因此我没有.

如何确保项目构建和创建war文件没有web.xml

java spring-mvc maven maven-assembly-plugin maven-war-plugin

15
推荐指数
1
解决办法
3万
查看次数