我想使用Maven创建一个jar,它包含一个特定的依赖工件,并排除一些源java文件。
当前我使用以下代码段:
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>shadedJar</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedClassifierName>classifier</shadedClassifierName>
<shadedArtifactAttached>true</shadedArtifactAttached>
<createDependencyReducedPom>false</createDependencyReducedPom>
<artifactSet>
<includes>
<include>com.google.guava:guava</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
因此,jar中确实包含了“Guava”工件文件,但是我也希望排除一些源文件(例如src/main/java/my.package/下的特定文件),我该如何做呢?
我使用shade创建一个jar,但我不需要一些eclipse、txt和其他仅与开发相关的东西的文件。
这是我的代码,也许你可以添加它并使用它。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>.settings/**</exclude>
<exclude>*.classpath</exclude>
<exclude>*.project</exclude>
<exclude>*.txt</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
目前,如果我试图在Gradle中做类似的事情,排除将被忽略,并且下载所有六个工件。 我使用的是Gradle版本1.8。
本文向大家介绍Apache Maven 创建具有项目所有依赖项的.jar文件,包括了Apache Maven 创建具有项目所有依赖项的.jar文件的使用技巧和注意事项,需要的朋友参考一下 示例 要创建包含所有依赖项的JAR,可以使用内置描述符格式jar-with-dependencies。以下示例package使用此内置描述符并声明的主类来配置绑定到该阶段的Assembly Plugin的执行co
我尝试使用gradle build的以下格式创建一个jar库,以便以后可以将其作为jar包导入该项目中的其他人。但是,生成的jar只有一个清单文件,没有java文件。 这些文件在Eclipse中的一个包中。 感恩节。
是否有一种方法可以使用Gradle从一组中排除特定的jar?我尝试了下面的代码,但这删除了该组的所有jar
Q1我如何在LibA中包含依赖项,这样当一些其他项目包含这个库时,它就不应该担心我的库的内部依赖项。 Q3当某人包含一个来自jcenter的库时,是否会带来所有的依赖关系? 任何帮助都将非常感谢。:)
我正在使用maven shade插件创建一个胖罐子,其中也包括一些弹性城堡罐子。但这造成了问题,因为Bouncy Castle的未签名版本。