我已经在这里和那里尝试过一些东西,我已经包含了我的所有类,库,MANIFEST.MF,整个java / bin,以及eclipse创建的org.eclipse文件,以及.classpath,.object文件在一个名为testing的文件夹中,我在下面附加了2个cmd进度图像。第一张图片完美地创建了一个可执行的jar,但是当它被启动时,当我按下按钮上传一个pdf文件时,它会给出下面图2中的错误。
第一张图片:
http://buiud.com/creating.png“创造一个罐子就好了”
第二张图片:
http://buiud.com/errorafterPdfLoad.png“NullPointerException错误”
抱歉,由于缺乏声誉,我无法添加图片。
答案 0 :(得分:0)
清单文件中的Class-Path条目已损坏,因此JVM找不到包含给出错误的类的jar。
答案 1 :(得分:0)
如果您使用的是 maven ,我建议您使用shade plugin生成具有所有依赖关系(以及清单 :-))的可运行的jar-板。
将此信息包含在 pom.xml :
中<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<!-- your main class: -->
<mainClass>org.sonatype.haven.HavenCli</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
然后执行mvn clean package shade:shade
以构建一个可以使用java -jar jarfilename.jar
从命令行运行的jar。
答案 2 :(得分:0)
首先检查您的MANIFEST文件。您无需添加“.MF”,但最好使用.txt格式。
然后确保正确设置MANIFEST.txt 看这个警告
警告:文本文件必须以新行或回车结束。如果不以新行或回车结束,则不会正确解析最后一行。
http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
请检查字段: 清单 - 版本:1.0 创建者:1.7.0_06(Oracle Corporation) Main-Class:NameOfClassWithMain
所以在“Main-Class:NameOfClassWithMain”之后再换一行或回车!如果您错过了该步骤,此字段将在解析后消失。 还要仔细检查包中的所有文件。