当前位置: 首页 > 知识库问答 >
问题:

Maven shade两次-如何定义jar到shade

左丘边浩
2023-03-14

在我的建造过程中,我需要遮阴两次。我为什么这样做与这个问题并不相关,但原因是:因为我首先对自己的依赖项进行着色,然后对第一个胖罐子进行模糊处理,然后我也想对第三方依赖项进行着色处理。

第一个困难是让目标以正确的顺序运行。默认情况下,如果一切都发生在打包阶段(这看起来很合乎逻辑),两个色调都会连续执行,然后执行混淆。我设法调整了maven阶段,以便目标以正确的顺序执行,但现在我卡住了,因为看起来:

  • 第一个阴影在我的maven jar插件的输出上自动执行

因此,我最终得到了一个模糊的部分阴影的罐子,和一个完全阴影的不模糊的罐子。

我找不到相关的选项来将特定的源jar强制到shade配置。阴影文档没有提供线索。我想我可以通过把一切都做好来解决我的问题,但我宁愿不这样做。

共有1个答案

郑胡媚
2023-03-14

我对源代码进行了简短的扫描,实际上,从插件版本3.2.1开始,在配置中似乎不可能指定输入jar。第550行附近的错误消息特别提到了jar插件对jar的要求。有些悬而未决的问题似乎也在要求类似的东西。

不过,在检查了文档之后,我想知道您是否可以配置内容以继续覆盖主jar(目标/my-artifact-1.0.0.jar)。换句话说,配置第一个阴影执行和混淆以将输出定向到该文件。然后,第二个阴影执行将具有正确的输入。这种方法的缺点是如果出现问题,将没有中间文件可供分析。

对于这种情况,编写MSHADE-304注释中建议的自定义转换器可能是一个更好的主意。

 类似资料:
  • jinja2.exceptions.TemplateAssertionError: block 'title' defined twice 运行后报错,根据错误提示,我查找了代码中的block 'title',并没有被定义两次,然而还是报错,我就删除了代码中唯一的一处block 'title',还是报错。

  • 问题内容: 我正在使用Spring MVC创建一个网站,并且为了持久性,我将Spring Data JPA与Hibernate 4用作我的JPA提供程序。目前正在使用Hibernate Validator处理验证。我有一个问题,我的验证程序被两次调用,我不知道为什么。这是一个问题的主要原因是因为第二轮未将依赖项自动关联到验证器中,并且出现了空指针异常。以下是导致失败的调用顺序: 提交注册表,然后首

  • null 有人能解释为什么要调用验证器两次,特别是为什么要跳过“userrepository.save(user);”回到这些验证器里? 多谢 下面是我的user.java类 我的用户存储库: 最后,我的persistence-context.xml文件

  • 就像标题说的useFetch自定义钩子,我做了两次返回数据,我的意思是什么。当我console.log我获取的数据有两个输出,其中一个是空值,另一个是我想要的数据,因为有空值的数据,这是一个问题,因为我不能实现包含我想要的数据的表。下面是代码: 这就是我想使用我获取的数据的地方: 当我刷新页面时,有一个错误“数据为空”,如何修复?

  • 这是“Eloquent JavaScript”书中的一个例子(我想你知道这本书): 代码做什么并不重要。 问题是:据我所知,函数有两个不同的'body',即它做完全不同的事情。在第一个实例中,它做了很多逻辑,但第二次它,首先,有一个不同的第二个参数(而不是,其次,它只是将一个数组元素属性(即39人数组中一个人的死亡日期)除以100。 为什么同一个函数做不同的事情?我确实理解 同一个函数的这两个实例

  • 问题内容: 我有一个简单的Java项目,它引用了两(2)个库jar文件。想要集成ProGuard。 这是我当前的build.xml: 问题答案: 我发现了几种集成方式,但这是最简单的方式。 这是 proguard.cfg :