0

使用 Maven 我想创建一个带有自定义扩展名 (.bar) 的存档文件。我必须在其中包含一个类文件和一个 XML 文件。

我尝试了以下但无法完成。

     <plugins>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>

                <execution>
                   <id>compile</id>
                   <phase>compile</phase>
                   <configuration>
                       <target>
                            <echo message="generating document workflow .bar file" />
                           **I need to copy a .class file and an xml file then build the .bar file.**                                

                           <!-- Create a bar file. -->
                           <zip basedir="${project.build.outputDirectory}" destfile="${project.build.outputDirectory}/document-workflow.bar" />
                      </target>
                   </configuration>
                </execution>

            </executions>
        </plugin>

你能指导我吗?

我还有一个要求。基本上,我要复制到 jar 的类文件应该在根目录中,而不是在包结构中。

4

1 回答 1

0

希望它能解决你的问题:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>bar</id>
            <phase>package</phase>
            <configuration>
                <target>
                    <echo message="generating document workflow .bar file" />
                    <!-- flatten files -->
                    <copy todir="${project.build.directory}/flattened_classes" flatten="true">
                        <fileset dir="${project.build.outputDirectory}">
                            <include name="**/*.class"/>
                        </fileset>
                    </copy>
                    <!-- Create a bar file. -->
                    <zip  destfile="${project.build.directory}/document-workflow.bar" >
                        <fileset dir="${project.build.directory}/flattened_classes">
                            <include name="**/*.class"/>
                        </fileset>
                        <fileset dir="${project.build.directory}">
                            <include name="yourfile.xml"/>
                        </fileset>
                    </zip>
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>
于 2013-02-20T08:23:57.017 回答