Java 现有清单文件的JarInputStream retuns null

Java 现有清单文件的JarInputStream retuns null,java,jar,manifest,Java,Jar,Manifest,当使用JarInputStream获取(完全)运行的.jar文件的清单时,我遇到了一个问题,我得到了空指针。尝试了一些不同的文件,但没有引发异常。注意:此文件来自代码生成器。具有以下结构(希望此形状有助于您理解): 上面是这个类的一部分(注意:这个类不在.jar中) 运行上述代码时,会抛出以下异常: Exception in thread "main" java.lang.NullPointerException at crypter.LoadJar.main(LoadJar.java:25)

当使用JarInputStream获取(完全)运行的.jar文件的清单时,我遇到了一个问题,我得到了空指针。尝试了一些不同的文件,但没有引发异常。注意:此文件来自代码生成器。具有以下结构(希望此形状有助于您理解):

上面是这个类的一部分(注意:这个类不在.jar中)

运行上述代码时,会抛出以下异常:

Exception in thread "main" java.lang.NullPointerException
at crypter.LoadJar.main(LoadJar.java:25)
所以jarManifest有空值

EDIT1 MANIFEST.MF

Manifest-Version: 1.0
Main-Class: mypackage.MyClass
Permissions: all-permissions

Name: text.txt

Name: mypackage/MyClass.class
EDIT2

jar -tvf reverse_tcp2.jar 
    37 Sat Jan 07 11:31:14 EET 2017 text.txt
     0 Sat Jan 07 11:31:14 EET 2017 mypackage/
  8513 Sat Jan 07 11:31:14 EET 2017 mypackage/MyClass.class
     0 Sat Jan 07 11:31:14 EET 2017 META-INF/
   145 Sat Jan 07 11:31:14 EET 2017 META-INF/MANIFEST.MF

您确定在调用java的文件夹中有resources文件夹吗?@EnricoGiurin是的,但如果发生类似情况,则应抛出FileNotFoundException。我没有发现这种类型的例外您是对的,只是测试非常奇怪,我用您的替换了MANIFEST.MF,它继续工作:(@EnricoGiurin我通过解压罐子并再次压缩而修复了它,没有做任何更改。我再次从生成器生成了相同的罐子,但它没有工作。我的经验无法找到发生这种情况的原因。
Manifest-Version: 1.0
Main-Class: mypackage.MyClass
Permissions: all-permissions

Name: text.txt

Name: mypackage/MyClass.class
jar -tvf reverse_tcp2.jar 
    37 Sat Jan 07 11:31:14 EET 2017 text.txt
     0 Sat Jan 07 11:31:14 EET 2017 mypackage/
  8513 Sat Jan 07 11:31:14 EET 2017 mypackage/MyClass.class
     0 Sat Jan 07 11:31:14 EET 2017 META-INF/
   145 Sat Jan 07 11:31:14 EET 2017 META-INF/MANIFEST.MF