这个插件提供了将工件打包在超级jar中的功能,包括它的依赖关系和阴影 - 即重命名 - 一些依赖项的包。
Maven Shade 插件不排除 META-INF.versions 文件
使用Maven Shade插件3.6.0 我有以下过滤器: *:* 使用Maven Shade插件3.6.0 我有以下过滤器: <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>module-info.class</exclude> <exclude>META-INF/LICENSE</exclude> <exclude>META-INF/NOTICE</exclude> <exclude>META-INF/MANIFEST.MF</exclude> <exclude>META-INF.versions.9.module-info</exclude> </excludes> </filter> </filters> 但是,我仍然看到以下警告: classgraph-4.8.160.jar、jackson-core-2.17.0.jar、jackson-databind-2.15.2.jar、jackson-datatype-jdk8-2.15.2.jar、jackson-datatype-jsr310-2.15.2 .jar,jackson-module-parameter-names-2.15.2.jar 定义 1 个重叠类: [警告] - META-INF.versions.9.module-info 这是良性的,但如果可能的话我仍然想消除警告。我做错了什么? 使用的过滤器使用错误。 <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>module-info.class</exclude> <exclude>META-INF/LICENSE</exclude> <exclude>META-INF/NOTICE</exclude> <exclude>META-INF/MANIFEST.MF</exclude> <exclude>META-INF/versions/9/module-info.class</exclude> </excludes> </filter> </filters> 或者排除多版本 jar 的所有类型的 module-info.class 文件: <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>module-info.class</exclude> <exclude>META-INF/LICENSE</exclude> <exclude>META-INF/NOTICE</exclude> <exclude>META-INF/MANIFEST.MF</exclude> <exclude>META-INF/versions/**/module-info.class</exclude> </excludes> </filter> </filters>
是否可以通过 mvn archetype:generate 生成一个具有 main 功能的 Maven 存根项目,并且构建过程的一部分包括制作 App.cmd/App.sh 从 shell 运行应用程序? 这是...
react-hook-form 控制器和 ShadeCn 选择组件的问题:选择时值重置为空字符串
我正在开发一个React项目,使用react-hook-form和Controller组件来管理带有Select组件的表单。但是,我遇到了一些问题: 初始表格提交: 什...
maven:`mvn clean package install`
我使用maven很多年了,遇到了一个奇怪的错误,这让我想到了这个奇怪的问题: 为什么 mvn clean install 与 mvn clean package install 不同? 它在文档中说,wh...
如何在编译和构建过程中使用 Maven Shade 插件从依赖项中删除类?
我正在尝试从依赖项中删除一些类。我尝试在 pom.xml 文件中使用以下配置,但它不起作用。这些类仍然存在于胖罐子中。可以...
当我从 IntelliJ 执行下面的代码时,它能够扫描所有依赖项并加载资源,因为 IntelliJ 解析 .m2 存储库中的依赖项,但它无法加载任何内容
Maven Launch4j Plugin InaccessibleObject // 将 JVM 参数添加到 POM
首先:请温柔点,我对此很陌生。 我有一个java应用程序,它是连接到wildfly实例的客户端。从 IDE 运行它是可行的。现在我想将客户端包装到 .EXE us...
shade插件生成的dependency-reduced-pom.xml的用途是什么?
我阅读了文档,但没有找到任何有关其用途的内容。
带有 Maven Shade 插件的 Spring Boot - 控制器未映射(404 错误)
对于我的带有嵌入式tomcat的Spring boot应用程序,由于一些限制,我需要取消spring-boot-maven-plugin并需要使用maven-shade-plugin。使用 Maven 包命令我...
我有一个 pom 文件,它构建了一个利用各种 Spring 模块的独立应用程序,特别是它使用了集成文件模块。本来我的pom文件使用的是Maven Assembly...
maven-shade-plugin 不会替换原来的 jar
奇怪的是,我的 maven-shade-plugin 没有用阴影 jar 替换原始 jar。有谁知道可能是什么原因? 这是我在 pom.xml 中的插件 奇怪的是,我的 maven-shade-plugin 没有用阴影 jar 替换原始 jar。有谁知道可能是什么原因吗? 这是我在 pom.xml 中的插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${plugin.shade.version}</version> <configuration> <artifactSet> <excludes> <!-- Leave slf4j unshaded so downstream users can configure logging. --> <exclude>org.slf4j:slf4j-api</exclude> <exclude>org.slf4j:slf4j-log4j12</exclude> <!-- Leave commons-logging unshaded so downstream users can configure logging. --> <exclude>commons-logging:commons-logging</exclude> <!-- Leave commons-exec unshaded so downstream users can use ProcessLauncher. --> <exclude>org.apache.commons:commons-exec</exclude> <!-- Leave log4j unshaded so downstream users can configure logging. --> <exclude>log4j:log4j</exclude> </excludes> </artifactSet> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>reference.conf</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/> <transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer"> <resource>NOTICE.txt</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> <resource>META-INF/LICENSE.txt</resource> <file>${basedir}/../../LICENSE.txt</file> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> <resource>META-INF/NOTICE.txt</resource> <file>${basedir}/../../NOTICE.txt</file> </transformer> </transformers> <relocations> <relocation> <pattern>org</pattern> <shadedPattern>${shaded.dependency.prefix}.org</shadedPattern> <excludes> <exclude>org/apache/zeppelin/*</exclude> <exclude>org/apache/zeppelin/**/*</exclude> <exclude>org/apache/thrift/*</exclude> <exclude>org/apache/thrift/**/*</exclude> <exclude>org/slf4j/*</exclude> <exclude>org/slf4j/**/*</exclude> <exclude>org/apache/commons/logging/*</exclude> <exclude>org/apache/commons/logging/**/*</exclude> <exclude>org/apache/commons/exec/*</exclude> <exclude>org/apache/commons/exec/**/*</exclude> <exclude>org/apache/log4j/*</exclude> <exclude>org/apache/log4j/**/*</exclude> <exclude>org/sonatype/*</exclude> <exclude>org/sonatype/**/*</exclude> <exclude>**/pom.xml</exclude> <!-- Not the org/ packages that are a part of the jdk --> <exclude>org/ietf/jgss/*</exclude> <exclude>org/omg/**/*</exclude> <exclude>org/w3c/dom/*</exclude> <exclude>org/w3c/dom/**/*</exclude> <exclude>org/xml/sax/*</exclude> <exclude>org/xml/sax/**/*</exclude> </excludes> </relocation> <relocation> <pattern>com.google</pattern> <shadedPattern>${shaded.dependency.prefix}.com.google</shadedPattern> </relocation> <relocation> <pattern>io</pattern> <shadedPattern>${shaded.dependency.prefix}.io</shadedPattern> </relocation> <relocation> <pattern>com.esotericsoftware</pattern> <shadedPattern>${shaded.dependency.prefix}.com.esotericsoftware</shadedPattern> </relocation> </relocations> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> Shaded 插件默认将原始文件保存为 -original.jar,如果您想用新生成的(阴影)替换原始文件,请将此行放在您的配置插件部分: <configuration> ... <outputFile>${output.directory}\${project.artifactId}-${project.version}.jar</outputFile> ... </configuration> 用你的阴影插件outputDirectory替换output.directory。 查看此帖子了解更多详细信息:post 看起来配置标签应该位于层次结构中的执行标签内,如下所示。请重新组织执行和执行标签,并在其下包含您的配置,如下所示。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${maven.shade.plugin}</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <relocations> <relocation> <pattern>org.apache*</pattern> <shadedPattern>shaded.org.apache*</shadedPattern> </relocation> <relocation> <pattern>com.cookie*</pattern> <shadedPattern>shaded.com.cookie*</shadedPattern> </relocation> </relocations> </configuration> </execution> </executions> </plugin> </plugins> 更多信息请参考maven文档http://maven.apache.org/plugins/maven-shade-plugin/examples/class-relocation.html
我使用 Maven Shade 使用 JakartaEE10 创建了一个 JavaFX17 应用程序。它在 NetBeans>run 上正确运行,但是当双击 Shadowd.jar 时它会运行,但我无法登录。我使用随机数登录。它
Maven-shade 3.5.2 + Flyway 10.12.0(通过 API 用于 HSQLDB 2.7.2)不起作用(JavaFX 应用程序。)
Flyway 10.12.0(通过 API 用于 HSQLDB 2.7.2)不适用于 maven-shade-plugin 3.5.2 v9.22.3 OK - 1 个依赖项:flyway-core v10.12.0 NOK - 2 个依赖项:flyway-core+flyway-database-hsqldb 飞行路线
Wildfly 无法在阴影 JAR WFNAM00026 中检索 TopicConnectionFactory:找不到 URI 的提供程序:null
我有一个连接到 Wildfly 27 实例的客户端应用程序。 要求之一是最终客户端是一个易于分发的可执行文件。 由 Windows 系统上的最终用户使用...
Maven Shade 插件:如何解决警告消息“定义 1 个重叠资源:[警告] - META-INF/MANIFEST.MF”
对于 ... com.曼努埃尔.乔丹 一些模块 0....
我正在使用 Maven 来构建一个特定的项目,并且在 POM 中我正在使用 Maven Shade 插件构建主要工件的 3 个不同变体(我正在使用各种
我正在使用 Maven 编写自己的扩展,我想嵌入该扩展并创建一个 jar。我在 https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/
log4j2 错误 StatusLogger 无法识别的转换说明符
我的项目中有log4j2,当我在intellij Idea中运行main方法时,打印日志是正确的。 当我使用 maven-shade-plugin 包项目来生成 jar 文件,并将 jar 作为独立应用程序运行时,它...
Word VBA 将高亮转为阴影 (1) 如何将代码限制在选定范围内? (2) 有没有比Char by Character+循环每种颜色更高效的Code?
标题说明了一切:可以将高亮转换为底纹(从“通过 VBA 将文本从高亮转换为底纹”中学习) https://www.datanumen.com/blogs/convert-texts-shaded-highlighted-vice-v...
带有额外 main 的 Java AWS Lambda 项目
我们有一个适用于 AWS Lambda 的 Java 项目,可以根据请求执行不同的评估。 到目前为止,效果很好,但对于某些评估,我们希望可以选择在本地手动启动它们