我构建了一个带有嵌入式 tomcat 服务器的 Spring Boot Web 应用程序(使用 Eclipse/STS)。
我需要对 WAR 文件中的类进行一些(混淆)处理,然后将其重新压缩,但在我尝试解压缩然后再次压缩以确保它能够正常工作之前。
但是当我解压缩然后将其重新压缩时,它将不再运行...
重现步骤:
像这样运行应用程序
java -jar myapp.war
......它工作正常。杀死应用程序。像这样“解压缩”战争
jar -xf myapp.war
……所有的内容都被提取出来了。删除原来的war文件...
rm myapp.war
像这样将内容“重新压缩”成一场战争......
jar -cfv myapp.war .
运行新的war文件……
java -jar myapp.war
我得到一个错误……
no main manifest attribute, in myapp.war
当我提取新的战争文件的内容时,我看到我原来的 /META-INF/MANIFEST.MF 文件已被替换为:
Manifest-Version: 1.0
Created-By: 1.7.0_06 (Oracle Corporation)
我可能在上面的步骤(4)中做错了。有任何想法吗?有没有我应该做的“Spring Boot”特定的事情?