所以,当我写我的java文件时:
public class Program
{
public static void main(String[] args)
{
System.out.println("Serious business logic.");
}
}
然后在windows cmd中,我这样编译:
javac Program.java
jar cfe Program.jar Program Program.class
java -jar Program.jar
没关系,结果是:
“严肃的商业逻辑。”
在Netbeans中我创建了一个项目,它添加了这一行:
package program;
我无法在cmd中编译,只能在IDE中编译。 我已经尝试过manifest.txt,没有BOM的UTF8编码,以及文件和文件的换行符。
Manifest.txt:
Main-Class: program.Program
并且没有manifest.txt,只在cmd program.Program
中当我试图跑步时:
java -jar Program.jar
导致:
“错误:无法找到或加载主类程序。程序”
我已经查看了以下网站:
http://www.skylit.com/javamethods/faqs/createjar.html
https://docs.oracle.com/javase/tutorial/deployment/jar/build.html
并且不知道该怎么做。你能帮帮我吗?
如何使用package关键字进行编译?什么是正确的切入点?
谢谢!
(ps jre1.8.0_91; jdk1.8.0_66我应该对jre和jdk使用相同的32位还是64位?)
答案 0 :(得分:1)
确保在将程序编译为JAR时,Program.class
位于名为program
的文件夹中。 Netbeans在脚本开头添加的package关键字告诉可执行文件它位于名为program
的文件夹中。如果您只是添加类文件而不确定它是否在正确的包(文件夹)中,它将无法正常运行,因为它不知道在哪里找到它。您的命令应更改为:
jar cvfm Program.jar Manifest.txt program
其中program
是包含Program.class
的文件夹。您的清单可能会被单独留下,但也需要包含在编译中。