Java 我的MANIFEST.MF应该是什么样子?

Java 我的MANIFEST.MF应该是什么样子?,java,jar,manifest,executable-jar,Java,Jar,Manifest,Executable Jar,我的结构如下: mp1 ├── lib │   └── kryonet-2.21-all.jar ├── mp1.iml ├── out │   ├── artifacts │   │   └── UX │   │   ├── META-INF │   │   │   └── MANIFEST.MF │   │   └── UX.jar ├── src │   ├── [.class files] │   └── cs425 │   └── mp1 │  

我的结构如下:

mp1
├── lib
│   └── kryonet-2.21-all.jar
├── mp1.iml
├── out
│   ├── artifacts
│   │   └── UX
│   │       ├── META-INF
│   │       │   └── MANIFEST.MF
│   │       └── UX.jar
├── src
│   ├── [.class files]
│   └── cs425
│       └── mp1
│           ├── agent
│           │   ├── [handlers].java
│           ├── common
│           │   ├── [commons].java
│           ├── main
│           │   └── UX.java
│           └── network
│               ├── [networks].java
我对mainfest文件完全不熟悉,我只是想让一个
.jar
在远程设备上运行。我的清单现在看起来像这样:

清单版本:1.0

主类:cs425.mp1.Main.UX

但我只是不断地

~/mp1$ java -jar UX.jar
Error: Invalid or corrupt jarfile UX.jar

有什么帮助吗?我不确定要为我的外部库添加哪些选项,以及如何定义我的类路径。

似乎我唯一缺少的就是外部
.jar
文件的类路径。我的清单现在看起来像:

Manifest-Version: 1.0
Main-Class: cs425.mp1.main.UX
Class-Path: kryonet-2.21-all.jar

在确保我所需的所有文件都是工件包(我的清单文件、外部jar等)的一部分之后,问题似乎消失了。

清单末尾是否有一个空换行符?我不知道在较新的Java版本中这是否仍然是一个问题,但是较旧的版本需要一个空行。是的,有一个-我在我的IDE中首先得到了一个关于它的错误,你是什么意思,
src
包含
[.class文件]
.class
文件应位于
.java
文件旁边(不推荐),或位于不同文件夹下的类似目录结构中,例如
bin
out
——我还希望其他
.java
文件的名称中没有真正使用[括号]命名。如果类文件都在
src
文件夹中,那么您忘了在每个
.java
文件的开头指定
package
语句。