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
语句。