Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将结果程序集重命名为已安装在.m2中_Java_Maven_Maven Assembly Plugin - Fatal编程技术网

Java 如何将结果程序集重命名为已安装在.m2中

Java 如何将结果程序集重命名为已安装在.m2中,java,maven,maven-assembly-plugin,Java,Maven,Maven Assembly Plugin,我有一个多模块项目。其中一个模块是assembly,它具有将核心(库)和示例放在一个zip中的描述符 <assembly> <id>assembly</id> <formats> <format>zip</format> <format>dir</format> </formats> <includeBaseDirectory>false</include

我有一个多模块项目。其中一个模块是assembly,它具有将核心(库)和示例放在一个zip中的描述符

<assembly>
<id>assembly</id>
<formats>
    <format>zip</format>
    <format>dir</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>

<dependencySets>
    <dependencySet>
        <useTransitiveDependencies>false</useTransitiveDependencies>
        <outputDirectory>/</outputDirectory>
    </dependencySet>
</dependencySets>

在.m2存储库中发布的名称始终是
${module.artifactId}-${module.version}.${module.extension}
,即使设置了
finalName
,包也会在
target
文件夹中正确重命名

我找到了两种方法来改变这一点:

  • 不是真正的解决方案:更改artifactId(但这是我最终为我的项目选择的解决方案)

  • 在程序集XML中设置
    id

    在assembly/resources.xml中 ->
    =所需的后缀(例如
    myappid

    在pom.xml maven assembly plugin build部分中,将
    appendAssemblyId
    设置为true

    结果将是:

    • 目标文件夹中的文件名=
      ${artifactId}-${version}-${assemblyId}.zip
    • .m2 repo文件夹中的文件=与目标文件夹中的文件相同

  • 你可能想再看看。这是由汇编插件的
    设置控制的,默认情况下为
    true
    。因此zip存档应该在您的存储库中。设置为true没有帮助,我可以在目标中看到zip,但它不在repo中。显示maven执行的日志文件。[INFO]构建zip:/home/dmitry/mbus/trunk/assembly/target/my-project.zip[警告]配置选项:“appendAssemblyId”设置为false,而“classifier”缺失。它将成为主项目工件的文件,而不是附加汇编文件:/home/dmitry/mbus/trunk/assembly/target/my-project.zip。注意:如果为该项目提供了多个描述符或描述符格式,则该文件的值将是不确定的![信息]处理DependencySet(output=/)您不鼓励人们通过发布此类评论来帮助您。
    <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptors>
                        <descriptor>assembly.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>package-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins> 
    
    <finalName>my-project</finalName>
    <appendAssemblyId>false</appendAssemblyId>
    
    [INFO] Building Assebly
    [INFO]    task-segment: [clean, install]
    [INFO] ------------------------------------------------------------------------
    [INFO] [clean:clean {execution: default-clean}]
    [INFO] Deleting directory /home/dmitry/mbus/trunk/assembly/target
    [INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
    [INFO] Preparing source:jar
    [WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
    [INFO] No goals needed for project - skipping
    [INFO] [source:jar {execution: default}]
    [INFO] [assembly:single {execution: package-assembly}]
    [INFO] Reading assembly descriptor: assembly.xml
    [INFO] Processing DependencySet (output=/)
    [WARNING] Cannot include project artifact: com.comcast.xcal.mbus:assembly:pom:CCP-LATEST-SNAPSHOT; it doesn't have an associated file or directory.
    [INFO] Building zip: /home/dmitry/mbus/trunk/assembly/target/my-project.zip
    [WARNING] Configuration options: 'appendAssemblyId' is set to false, and 'classifier' is missing.
    Instead of attaching the assembly file: /home/dmitry/mbus/trunk/assembly/target/my-project.zip, it will become the file for main project artifact.
    NOTE: If multiple descriptors or descriptor-formats are provided for this project, the value of this file will be non-deterministic!
    [INFO] Processing DependencySet (output=/)
    [INFO] Copying files to /home/dmitry/mbus/trunk/assembly/target/my-project.dir
    [WARNING] Assembly file: /home/dmitry/mbus/trunk/assembly/target/my-project.dir is not a regular file (it may be a directory). It cannot be attached to the project build for installation or deployment.
    [INFO] [install:install {execution: default-install}]
    [INFO] Installing /home/dmitry/mbus/trunk/assembly/pom.xml to /home/dmitry/.m2/repository/com/mbus/assembly/CCP-LATEST-SNAPSHOT/assembly-CCP-LATEST-SNAPSHOT.pom
    [INFO] [javadoc:jar {execution: default}]
    [INFO] Not executing Javadoc as the project is not a Java classpath-capable package
    [INFO] 
    [INFO]