修改
jar文件现在从桌面运行,然后在 BUT 中进行构建和复制以实现它我必须删除包含Utilities.jar
的外部库,并将源包含为另一个java类。
这是不可接受的但也许它告诉我们如何解决以下问题。
使用包含Utilities.jar
的外部库进行编译时,我在lib
文件夹中找到了一个dist
文件夹,其内部是Utilities.jar
。
Readme.txt
文件夹中的dist
文件显示:
======================== 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
和"中的建议拉上.jar和lib
文件夹"并将.zip
文件夹放在桌面上并解压缩并运行.jar文件,程序正常运行,应该如此。
如果我从dist
文件夹通过javac -jar mrcopy.jar
从命令行运行,它当然会运行正确。
但我从来没有经历过这一切只是为了得到一个可执行的.jar文件。
我很困惑.................
就是这么简单: 如果我有外部库,我将不得不将它们压缩,分发zip,解压缩zip并从解压缩到的任何地方运行.jar文件?
编辑结束
多年来,在修改和编译MrCopy.jar
之后,我可以将.jar文件(位于...\NetBeansProjects\MrCopy\dist
文件夹中)复制到我的桌面并运行它。这是我们应该发生的事情:
弹出该对话框并单击YES导致复制,并在下面的屏幕结束:
但是现在我在项目属性JAVA 8
中使用Source\Binary format
进行编译(截至今天),我没有得到第一个对话框,没有任何反应。
这是Project Properties Packaging的样子:
如何从桌面运行.jar文件?
答案 0 :(得分:1)
如果我理解正确,你有一个与其他libs有依赖关系的项目吗?
如果是这样,您可以做两件事来分发您的应用:
1 - 创建一个胖罐,你可以看到它here
2 - 压缩项目/ dist文件夹的内容就像你说的那样