java - Java Jar 已编译但无法执行
问题描述
所以我有Test.java
简单的主类代码文件。
public class Test {
public static void main(String[] args) {
System.out.println("123");
}
}
并MANIFEST.MF
提交:
Main-Class: Test
然后在 CMD 中输入:
javac -verbose Test.java
然后
jar cmf MANIFEST.MF Test.jar Test.class Test.java
然后
java -jar Test.jar
输出:
Error: Could not find or load main class Test
解决方案
Main-Class
我可以重现您的原始错误,这是由于清单中的声明后没有换行符引起的。以下是使用的命令和文件的完整 shell 日志:
bash-5.0$ ls
MANIFEST.MF Test.java
bash-5.0$ cat MANIFEST.MF
Main-Class: Test
bash-5.0$ cat Test.java
public class Test {
public static void main(String[] args) {
System.out.println("123");
}
}
bash-5.0$ javac Test.java
bash-5.0$ jar cmf MANIFEST.MF Test.jar Test.class Test.java
bash-5.0$ java -jar Test.jar
123
bash-5.0$
推荐阅读
- javascript - 使用 office.js 在桌面 Excel 上呈现数据,但在 Chrome Office 365 上它会给出错误“处理请求时出错”。
- php - xml 库中发生了什么更改导致我的代码崩溃?
- python - 当我使用 django {% block content %} 时不显示我的导航栏 {% extends 'base.html' %}
- javascript - 两个错误之一:内存不足或 Javascript 运行时意外退出
- javascript - Javascript 中的星形图案
- go - 为什么在使用 UnmarshalJSON() 时接收器值为零?
- r - 如何在R中的for循环或lapply函数中传递变量名?
- elasticsearch - ELASTICSERCH - Inner_hits 聚合
- python - tf.keras.applications.InceptionV3 中的混合层是什么?
- rust - Rust 可以捕获 C/C++ 库的 stdout/stderr 吗?