使用Maven包装特定的依赖罐子

使用Maven包装特定的依赖罐子,maven,jar,pom.xml,Maven,Jar,Pom.xml,我的maven项目有几个依赖jar,但是当我为我的项目创建jar时,我希望包含这些依赖项的子集。有办法做到这一点吗?目前,我正在使用下面的pom.xml(来自问题),但它正在将每个依赖项打包到我的项目中 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar

我的maven项目有几个依赖jar,但是当我为我的项目创建jar时,我希望包含这些依赖项的子集。有办法做到这一点吗?目前,我正在使用下面的pom.xml(来自问题),但它正在将每个依赖项打包到我的项目中

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                    <addClasspath>true</addClasspath>
                </manifest>
            </archive>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
</plugins>
</build>

org.apache.maven.plugins
maven jar插件
真的
org.apache.maven.plugins
maven汇编插件
带有依赖项的jar
包裹
单一的
试试:


....
公共语言:公共语言
log4j:log4j
....

有关更多详细信息,请参见,如果您只想包含特定的罐子,也可以使用
<dependencySets>
    <dependencySet>
      ....
      <excludes>
        <exclude>commons-lang:commons-lang</exclude>
        <exclude>log4j:log4j</exclude>
      </excludes>
    </dependencySet>
    ....
  </dependencySets>