我有一个歧管。MF,如下所示
Manifest-Version: 1.0 Created-By: Maven JAR Plugin 3.3.0 Build-Jdk-Spec: 17 Implementation-Title: cengine Implementation-Version: 0.0.1-SNAPSHOT Main-Class: org.springframework.boot.loader.JarLauncher Start-Class: com.spotnana.obt.commissionengine.CommissionEngineApplicati on Spring-Boot-Version: 3.0.13 Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx Spring-Boot-Layers-Index: BOOT-INF/layers.idx
我想读书 Start-Class 来自上述MANIFEST。MF文件。我尝试了上面提到的解决方案 here .
Start-Class
显示 Specification 如下所示
在UTF8编码的形式中,任何一行的长度都不能超过72字节(而不是字符)。如果一个值会使初始行的长度超过72字节,则应在额外的行上继续(每行以一个空格开头)。
尝试时
perl -0777 -wpe 's/\n //g' MANIFEST.MF | awk '/Start-Class/{print $2}'
它看起来像
onm.spotnana.obt.commissionengine.CommissionEngineApplicati
这似乎是Windows的一行结尾( \r\n )搞砸了图案匹配。
\r\n
perl -0777 -wpe 's/\r?\n //g' MANIFEST.MF | awk '/Start-Class/{print $2}'
补充 \r? 为了满足这两种情况,Linux 和 窗户。
\r?