在NetBeans中构建Java程序后,我压缩了dist文件夹,将程序放在USB中。在另一台计算机中,在解压缩所有文件后,我尝试运行JAR文件但是Window提示符说:
“无法找到主类:logic.Main。程序将退出。”
在研究并尝试了类似问题的解决方案(即创建清单文件,创建.bat文件)但没有任何作用。
有2个问题:找不到主类,而在另一台计算机上,Java没有更新?怎么解决这个?
它实际上能够找到一个logic.Main
,但它无法加载它,因为它是用Java 8编译的,用户的机器运行的是早期版本的Java。在早期版本的Java上编译文件或在目标计算机上更新Java将解决该问题。
有多种方法可以创建可执行jar。
在netbeans中有一个选项
Project Properties -> Build -> Packaging -> Build JAR after compiling
Maven Build也可用于创建可执行jar。在下面的maven插件中定义主类。您也可以选择编译器版本以避免重大的小问题。
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.kulhade.elasticsearch.Indexer</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.dstovall</groupId>
<artifactId>onejar-maven-plugin</artifactId>
<version>1.4.4</version>
<executions>
<execution>
<goals>
<goal>one-jar</goal>
</goals>
</execution>
</executions>
</plugin>