Maven安装插件与依赖包装

时间:2011-12-15 16:05:29

标签: maven

我有项目A和项目B.项目B只有ProjectA所需的专有jar或第三方库,这些库在maven存储库中找不到。我打算将项目B的所有相关(分组依赖项)jar打包到一个/多个jar文件中。问题是,如何使用POM同时安装这些罐子并将它们装入一个罐子中。我正在单独安装专有的罐子,但我不能将它们打包到一个罐子里。 M2 eclipse也没多大帮助,所以我决定在eclipse中使用mvn命令。这样做的最佳做法是什么?因为我想在其他项目中使用这些依赖项,所以我认为它们是着色的。我可以使用POM安装和着色/组装jar(逻辑上将相关的依赖项分组到一个jar中)吗?

我跟着这个(来自堆栈流量论坛),它没有工作 - 因为这是创建一个项目jar,它没有任何+专有的jar分开但没有将所有的jar分为一个。我希望它们能够安装并同时组合到一个罐子里。

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.projectdeps</groupId>
    <artifactId>sharedlibs</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>shared-libs</name>

     <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.3.1</version>
                <executions>
                    <execution>
                        <id>install activationjar</id>
                        <goals><goal>install-file</goal></goals>
                        <phase>validate</phase>
            <configuration>

               <file>${basedir}/src/main/libs/activation.jar</file>
                            <groupId>com.mycompany.activation</groupId>
                            <artifactId>activation</artifactId>
                            <version>12.8</version>
                            <packaging>jar</packaging>
            </configuration>
        </execution>
         <execution>
                        <id>install opsjar</id>
                        <goals><goal>install-file</goal></goals>
                        <phase>validate</phase>
            <configuration>

               <file>${basedir}/src/main/libs/Operations.jar</file>
                            <groupId>com.mycompany.gcs.ops</groupId>
                            <artifactId>Operations</artifactId>
                            <version>12.8</version>
                            <packaging>jar</packaging>
            </configuration>
        </execution>
                </executions>
            </plugin>
             <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>1.5</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
            <filters>
              <filter>
                <artifact>Operations</artifact>
                <includes>
                  <include>/**</include>

                </includes>
              </filter>
            </filters>
            </configuration>
          </execution>
        </executions>
      </plugin>

        </plugins>
    </build>
      <dependencies>

        <dependency>
             <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>1.5</version>
        <type>maven-plugin</type>
        </dependency>

    </dependencies>

</project>

0 个答案:

没有答案