Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新Spring BOOT-INF/lib jars_Java_Spring Boot_Jar_Package - Fatal编程技术网

Java 更新Spring BOOT-INF/lib jars

Java 更新Spring BOOT-INF/lib jars,java,spring-boot,jar,package,Java,Spring Boot,Jar,Package,我正在尝试更新restxxxx.jar中的一个jar,这个restjar基本上是一个SpringBoot jar,解包时它的文件夹结构是BOOT-INF/lib/ 现在我想替换这个rest xxxx.jar中的依赖项jar,因此我使用了以下命令: jar uf rest-xxxx.jar BOOT-INF/lib/new-version-jar-same-name.jar 在引导过程中我是如何出错的: 线程“main”java.lang.IllegalStateException中出现异常:无

我正在尝试更新
restxxxx.jar
中的一个jar,这个restjar基本上是一个SpringBoot jar,解包时它的文件夹结构是
BOOT-INF/lib/

现在我想替换这个
rest xxxx.jar
中的依赖项jar,因此我使用了以下命令:

jar uf rest-xxxx.jar BOOT-INF/lib/new-version-jar-same-name.jar
在引导过程中我是如何出错的:

线程“main”java.lang.IllegalStateException中出现异常:无法打开嵌套项“BOOT-INF/lib/new version jar same name.jar”。它已被压缩,嵌套的jar文件必须在不压缩的情况下存储。请检查用于创建可执行jar文件的机制

我注意到jar命令有一个
0
选项来避免压缩,所以我做了:

jar u0f rest-xxxx.jar BOOT-INF/lib/new-version-jar-same-name.jar
但后来我遇到了类似的压缩问题,如下所示:

线程“main”java.lang.IllegalStateException中出现异常:无法打开嵌套项“BOOT-INF/lib/new version jar same name.jar/META-INF/MANIFEST.MF”。它已被压缩,嵌套的jar文件必须在不压缩的情况下存储。请检查用于创建可执行jar文件的机制

当我需要替换给定springboot jar中的依赖项jar时,应该怎么做


请注意:我知道最好的做法是从更新的pom.xml构建,我们的局限性是目前无法获得正确版本的源代码,因此我们试图修补现有的springboot jar,而不是重建它。

使用jar命令解压缩jar包,在压缩包外替换jar包,并压缩它


我认为
metron rest xxxx.jar
jar本身必须解压缩。我想做的是更新
metron rest xxx.jar
中的内容,因此无法解压缩此jar。我只是将metron rest xxx.jar更改为
rest xxxx.jar
,以避免混淆。为什么不能更新pom.xml中的依赖项并重建Spring Boot应用程序?当我需要用给定的springboot jar替换依赖项时,我该怎么办?我会更新项目build.gradle/pom.xml中的依赖项(即在源代码中),重新编译并重新执行所有的单元和集成测试,以确保新的依赖项不会破坏任何东西,并使用由项目的官方、精心编制的构建过程生成的jar,如果我能从src代码中重建并将其放入maven pom.xml中,我理解这一点会容易得多。但我的问题是,现在我只有一个需要修补的jar文件,所以你可以讨论最佳实践,但我需要修补这个jar。