Java 8 .jar 文件不会 运行 从桌面使用 Netbeans 8.0.2 编译 WITH EXTERNAL LIBRARY; 运行如果库包含在源代码中就没问题
Java 8 .jar file won't run from desktop using Netbeans 8.0.2 to compile WITH EXTERNAL LIBRARY; runs fine if library is included in source
编辑
jar 文件现在运行来自桌面,清理并构建并将其复制到那里但是 为了实现它,我必须 删除包含 Utilities.jar
的外部库 并将源作为另一个 java class .
这是不可接受的,但也许它告诉了如何解决下面的问题。
当使用包含Utilities.jar
的外部库编译时,我在dist
文件夹中发现了一个lib
文件夹,里面是Utilities.jar
.
dist
文件夹中的 Readme.txt
文件说:
======================== BUILD OUTPUT DESCRIPTION =====
When you build an Java application project that has a main class, the IDE
automatically copies all of the JAR files on the projects classpath to your
projects dist/lib folder. The IDE also adds each of the JAR files to the
Class-Path element in the application JAR files manifest file (MANIFEST.MF).
To run the project from the command line, go to the dist folder and
type the following:
java -jar "MrCopy.jar"
To distribute this project, zip up the dist folder (including the
lib folder) and distribute the ZIP file.
Notes:
* If a library on the projects classpath also has a Class-Path element
specified in the manifest, the content
of the Class-Path element has to be on the projects runtime path.
这是 manifest.mf
中的内容:
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
我应该添加什么吗?
如果我按照 readme
和 "zip up the .jar and lib
folder" 中的建议将 .zip
文件夹放在桌面上并解压缩它和 运行 .jar 文件,正常编程 运行s,因为它应该。
如果我通过 javac -jar mrcopy.jar
从 dist
文件夹中的命令行 运行,那当然 运行 是对的。
但我从来没有经历过所有这些只是为了获得一个可执行的 .jar 文件。
我很困惑......
就这么简单吗:
如果我有外部库,我将不得不将它们压缩、分发 zip、解压缩 zip 和 运行 .jar 文件从解压缩到的位置?
编辑结束
多年来,在修改和编译 MrCopy.jar
之后,我可以将 .jar 文件(位于 ...\NetBeansProjects\MrCopy\dist
文件夹中)复制到我的桌面并 运行 它。这是应该发生的事情:
弹出该对话框,单击“是”将导致复制,最后出现以下屏幕:
但现在我正在使用项目属性 Source\Binary format
中的 JAVA 8
进行编译(截至今天),我没有看到第一个对话框,也没有任何反应。
这是项目属性打包的样子:
如何从桌面制作 .jar 文件 运行?
如果我没理解错的话,你的项目依赖于其他库?
如果是这样,您可以做两件事来分发您的应用程序:
1 - 创建一个你可以看到的 fat Jar here
2 - 按照您所说的压缩 project/dist 文件夹的内容
编辑
jar 文件现在运行来自桌面,清理并构建并将其复制到那里但是 为了实现它,我必须 删除包含 Utilities.jar
的外部库 并将源作为另一个 java class .
这是不可接受的,但也许它告诉了如何解决下面的问题。
当使用包含Utilities.jar
的外部库编译时,我在dist
文件夹中发现了一个lib
文件夹,里面是Utilities.jar
.
dist
文件夹中的 Readme.txt
文件说:
======================== BUILD OUTPUT DESCRIPTION =====
When you build an Java application project that has a main class, the IDE
automatically copies all of the JAR files on the projects classpath to your
projects dist/lib folder. The IDE also adds each of the JAR files to the
Class-Path element in the application JAR files manifest file (MANIFEST.MF).
To run the project from the command line, go to the dist folder and
type the following:
java -jar "MrCopy.jar"
To distribute this project, zip up the dist folder (including the
lib folder) and distribute the ZIP file.
Notes:
* If a library on the projects classpath also has a Class-Path element
specified in the manifest, the content
of the Class-Path element has to be on the projects runtime path.
这是 manifest.mf
中的内容:
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
我应该添加什么吗?
如果我按照 readme
和 "zip up the .jar and lib
folder" 中的建议将 .zip
文件夹放在桌面上并解压缩它和 运行 .jar 文件,正常编程 运行s,因为它应该。
如果我通过 javac -jar mrcopy.jar
从 dist
文件夹中的命令行 运行,那当然 运行 是对的。
但我从来没有经历过所有这些只是为了获得一个可执行的 .jar 文件。
我很困惑......
就这么简单吗: 如果我有外部库,我将不得不将它们压缩、分发 zip、解压缩 zip 和 运行 .jar 文件从解压缩到的位置?
编辑结束
多年来,在修改和编译 MrCopy.jar
之后,我可以将 .jar 文件(位于 ...\NetBeansProjects\MrCopy\dist
文件夹中)复制到我的桌面并 运行 它。这是应该发生的事情:
弹出该对话框,单击“是”将导致复制,最后出现以下屏幕:
但现在我正在使用项目属性 Source\Binary format
中的 JAVA 8
进行编译(截至今天),我没有看到第一个对话框,也没有任何反应。
这是项目属性打包的样子:
如何从桌面制作 .jar 文件 运行?
如果我没理解错的话,你的项目依赖于其他库?
如果是这样,您可以做两件事来分发您的应用程序:
1 - 创建一个你可以看到的 fat Jar here
2 - 按照您所说的压缩 project/dist 文件夹的内容