Java 8 .jar文件不会使用Netbeans 8.0.2从桌面运行来编译WITH EXTERNAL LIBRARY;如果源

时间:2015-08-09 23:56:32

标签: java-8 netbeans-8

修改

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文件夹中)复制到我的桌面并运行它。这是我们应该发生的事情:

enter image description here

弹出该对话框并单击YES导致复制,并在下面的屏幕结束:

enter image description here

但是现在我在项目属性JAVA 8中使用Source\Binary format进行编译(截至今天),我没有得到第一个对话框,没有任何反应。

这是Project Properties Packaging的样子:

enter image description here

如何从桌面运行.jar文件?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你有一个与其他libs有依赖关系的项目吗?

如果是这样,您可以做两件事来分发您的应用:

1 - 创建一个胖罐,你可以看到它here

2 - 压缩项目/ dist文件夹的内容就像你说的那样