标签: runnable-jar

无法使用 jar 命令构建 - java.io.IOException: 行太长

我有看起来像这样的文件夹:

foo/
 Bar.java
 Bar.class
 Foo.java
 Foo.class
 manifest.mf
Run Code Online (Sandbox Code Playgroud)

.java 文件都在一个名为 x 的包中:

package x;
Run Code Online (Sandbox Code Playgroud)

我生成 .class 文件:

javac foo/*.java
Run Code Online (Sandbox Code Playgroud)

然后我尝试打包为可运行的 jar 格式:

jar cmf foo.jar foo/manifest.mf foo/*.class
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

 java.io.IOException: line too long
        at java.base/java.util.jar.Attributes.read(Attributes.java:381)
        at java.base/java.util.jar.Manifest.read(Manifest.java:228)
        at java.base/java.util.jar.Manifest.<init>(Manifest.java:80)
        at java.base/java.util.jar.Manifest.<init>(Manifest.java:72)
        at jdk.jartool/sun.tools.jar.Main.run(Main.java:264)
        at jdk.jartool/sun.tools.jar.Main.main(Main.java:1669)
Run Code Online (Sandbox Code Playgroud)

manifest.mf 的内容只是:

Main-Class: x.Bar
Run Code Online (Sandbox Code Playgroud)

它编译时javac不确定发生了什么,或者为什么它不喜欢清单文件,有人知道吗?

java jar executable-jar runnable-jar

1
推荐指数
1
解决办法
473
查看次数

将 Eclipse 中的 JavaFX 项目导出到可运行的 jar

我需要将使用 Eclipse 的 JavaFX SDK 16 和 Java SE-15 制作的项目发送给我的朋友,但是当我尝试导出它时,我很惊讶 Eclipse 没有将 VM 参数插入到导出的文件中: 在此处输入图片说明

正如您所知,从 JavaFX SDK 10 开始,JavaFX 库不再是 Java SE 的一部分,因此我们需要通过 VM 参数告诉 Eclipse 在哪里可以找到它们,简而言之,这些 VM 参数对于运行我的程序非常重要。

我已经知道我可以在使用提示命令打开它时插入这些参数,但是有没有更简单的方法?只需单击导出的文件?

java eclipse javafx javafx-11 runnable-jar

1
推荐指数
1
解决办法
94
查看次数

标签 统计

java ×2

runnable-jar ×2

eclipse ×1

executable-jar ×1

jar ×1

javafx ×1

javafx-11 ×1