3

我有一个使用 Maven 构建的 Web 应用程序。但我想用正确的maven目录结构生成一个带有maven项目的JAR。我试过了,但它抛弃了 Maven 目录结构(src/main/java 等)。我的目标是将这个 jar 分发给其他人,以便他们可以解压缩并运行 mvn eclipse:eclipse 并开始处理他们的新 Web 项目。

4

2 回答 2

2

为什么不使用maven-assembly-plugin的现有描述符..

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
  <descriptorRefs>
    <descriptorRef>src</descriptorRef>
  </descriptorRefs>
</configuratio
于 2012-04-22T09:44:16.020 回答
0

使用 maven-assembly-plugin。做你想做的事非常简单。

这是您对插件的定义:

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.2.1</version>
                    <executions>
                        <execution>
                            <id>make-distribution</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
                                </descriptors>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

这是您的 src/main/assembly/assembly.xml:

<assembly>

        <id>my-project</id>

        <formats>
                <format>zip</format>
        </formats>

        <includeBaseDirectory>true</includeBaseDirectory>

        <fileSets>
                <fileSet>
                        <directory>${basedir}</directory>
                        <includes>
                                <include>**/**</include>
                        </includes>
                        <excludes>
                                <exclude>**/**</exclude>
                        </excludes>
                </fileSet>
        </fileSets>

</assembly>

我还没有测试它,但它大致是你应该设置它的方式。

于 2012-04-22T02:37:49.930 回答