首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Maven程序集插件创建新的格式选项

为Maven程序集插件创建新的格式选项
EN

Stack Overflow用户
提问于 2012-05-03 01:06:23
回答 2查看 568关注 0票数 2

Maven Assembly插件允许在程序集描述符中指定不同的格式。我如何开发一种新的格式以使其得到支持?

我想创建一个ISO镜像,而不是它已经支持的zip、jar或tar文件。我已经找到了一个可以创建ISO镜像(https://github.com/stephenc/java-iso-tools)的插件,但不是组装插件的一部分,所以我很乐意使用它,甚至扩展这个插件。

我基本上希望能够在我的程序集描述符中执行以下操作:

代码语言:javascript
复制
<assembly>
  <id>cd-image</id>
  <formats>
    <format>iso</format>
  </formats>
  <!-- Rest of descriptor here -->
</assembly>

我还希望它能够在创建的归档文件中删除额外的间接层,这样当我声明一个文件应该位于归档文件的根目录中时,它实际上就是。如果它是tar文件,这将是一个tar炸弹,但对于ISO镜像来说,这将是一个有用的功能。

EN

回答 2

Stack Overflow用户

发布于 2012-05-05 21:51:53

最好的方法是在问题跟踪系统中提交问题:http://jira.codehaus.org/browse/MASSEMBLY此外,要以一种好的方式支持这一点,可以查看maven-assembly-plugin的源代码,并可能尝试生成一个实现您想要的功能的补丁。但我怀疑它是否会被开发人员接受,因为你引用的工具是基于GPL的软件,不能集成到Apache许可的部分中。因此,如果他们后悔这样的事情,我不会感到惊讶。但也许我错了。试一试吧。此外,推荐一个新的Maven插件(maven-iso-pugin?)可能是个不错的主意。

而且非常重要的是,你应该检查Maven Central,因为已经有一个http://search.maven.org/#search|ga|1|iso9660-maven-plugin maven插件可以实现这一目的。

票数 1
EN

Stack Overflow用户

发布于 2016-03-10 01:22:18

iso9660-maven-plugin (java-iso-tools的一部分)现在直接支持这一点。您必须将其作为扩展添加到您的插件中,并作为对maven- pom.xml -plugin的依赖:

代码语言:javascript
复制
    <build>
    <extensions>
        <extension> <!-- Adds "iso" as an assembly format. -->
            <groupId>com.github.stephenc.java-iso-tools</groupId>
            <artifactId>iso9660-maven-plugin</artifactId>
            <version>2.0.1</version>
        </extension>
    </extensions>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                       ...
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.github.stephenc.java-iso-tools</groupId>
                    <artifactId>iso9660-maven-plugin</artifactId>
                    <version>2.0.1</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

然后,您可以在程序集描述符中使用<format>iso</format>

我发现最初的发问者就是将这个功能添加到iso9660-maven-plugin的人。谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10418438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档