maven-install-plugin:我可以定义自定义包装类型,但是在repo中将工件安装为jar吗?

时间:2011-03-07 11:26:35

标签: maven maven-plugin

我正在尝试使用插件来检测和处理Java EE应用程序客户端。

我通过META-INF / plexus / components.xml(http://maven-car-plugin.googlecode.com/svn/trunk/maven-car-plugin/src/main/resources/META-INF/plexus/components.xml)创建了一个名为“car”的新包装类型,并为Java EE应用客户端创建了相应的mojo。我几乎遵循了与maven-ejb-plugin相同的步骤。

我想要的行为与maven-ejb-plugin相同:定义一个ejb打包类型,但是工件作为.jar安装在repo中,并且作为.jar捆绑在耳中。

我认为必须可以配置一些如何因为ejb打包类型安装为.jar而war包装类型生成.war。

在我的情况下,问题是.car文件安装在repo中,而.car文件被捆绑在耳中。

有谁知道如何确保它作为.jar文件安装在repo中?

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,除了我正在构建.war文件并希望在我的本地仓库中安装.jar文件。我所做的是使用maven-jar-plugin创建一个jar文件以及war文件,它是在my / target目录中生成的。我还使用maven-install-plugin将输出的jar安装到我的本地仓库。

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
            <execution>
                <id>make-jar</id>
                <phase>compile</phase>
                <goals>
                        <goal>jar</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <executions>
            <execution>
                <id>install-jar</id>
                <phase>install</phase>
                <goals>
                    <goal>install-file</goal>
                </goals>
                <configuration>
                    <packaging>jar</packaging>
                    <artifactId>${project.artifactId}</artifactId>
                    <groupId>${project.groupId}</groupId>
                    <version>${project.version}</version>
                    <file>${project.build.directory}/${project.artifactId}.jar</file>
                </configuration>
            </execution>
        </executions>
    </plugin>

答案 1 :(得分:0)

也许您可以尝试使用maven install plugin中的packaging参数来查看这对您的情况有帮助吗?

答案 2 :(得分:0)

我认为你必须指定

<packaging>jar</packaging>

以及组件描述符。否则它对我来说是正确的..