包含应用程序依赖项时,maven-assembly-plugin无法执行

时间:2016-01-22 00:10:04

标签: jenkins maven-assembly-plugin

我有一个非常不寻常的情况,如果我包含maven-assembly-plugin模块的依赖项,Scheduler将无法执行main-project

maven-assembly-plugin无法创建.zip文件,因为Scheduler依赖于我的main-project模块,而后者依赖于许多其他模块。 Scheduler是一个独立的应用程序,它运行在一台单独的机器上,我想在zip文件中捆绑所需的一切,并使用Jenkins进行部署。

我得到的错误:

[INFO] --- maven-assembly-plugin:2.5.4:single (Scheduler-assembly) @ Scheduler---
[INFO] Reading assembly descriptor: src/assembly/src.xml
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.5.4:single (Scheduler-assembly) on project Scheduler: Execution Scheduler-assembly of goal org.apache.maven.plugins:maven-assembly-plugin:2.5.4:single failed: For artifact {null:null:null:jar}: The groupId cannot be empty. -> [Help 1]

pom文件:

          <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.4</version>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <finalName>Scheduler</finalName>
                    <descriptors>
                        <descriptor>src/assembly/src.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>Scheduler-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

程序集xml:

<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
    <id>bin</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>

    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/classes</directory>
            <outputDirectory></outputDirectory>
        </fileSet>

    </fileSets>
    <dependencySets>
        <dependencySet>
            <useProjectArtifact>false</useProjectArtifact>
            <excludes>
                <exclude>com.caci:TaskScheduler:jar:1.0-SNAPSHOT</exclude>
                <exclude>jdom:jdom:jar:1.0</exclude>
                <!--<exclude>com.caci:dol-web</exclude>-->
            </excludes>
        </dependencySet>
    </dependencySets>
</assembly>

如果我删除<dependencySets>,则会创建zip文件但没有lib文件夹及其依赖项。

因为我被烧了,有人能说清楚吗?我已经看了很久了:(

0 个答案:

没有答案