在NetBeans中生成可执行jar

Dan*_*ani 19 java executable netbeans jar manifest

我正在使用NetBeans 6.5,由于某种原因它不会生成"开箱即用"的可执行jar.

我将我的项目设置为主项目,在项目属性"运行"菜单中定义主类,当我按F6运行它时,它可以完美地工作.

我查看了清单文件,它确实没有在那里定义主类,也省略了库依赖项.



我错过了什么吗?有没有办法(除了手动更改清单文件)生成可执行的jar文件?

编辑:是的,我尝试了清理和重建,它在dist文件夹中生成了jar,仍然使用相同的manifest.mf

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 10.0-b23 (Sun Microsystems Inc.)
Run Code Online (Sandbox Code Playgroud)

rar*_*ald 7

我在NetBeans 7.2.1中遇到了与Maven Java Application项目相同的问题.修改pom.xml文件以包含maven程序集插件,并对myrho的答案进行一次调整(需要引用预定义描述符"jar-with-dependencies"):

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>your.app.MainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

另一种方法是在NetBeans中构建一个不使用Maven的Java Application项目.选择File - > Project Properties - > Build - > Packaging并选中"Copy Dependent Libraries"复选框.


小智 6

如果您正在使用maven程序集插件并希望构建具有依赖项的可执行jar,则需要将此部分添加到pom.xml中maven-assembly-plugin部分的配置中:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <!-- ... -->
    <archive>
      <manifest>
        <mainClass>your.app.SampleClass</mainClass>
      </manifest>
    </archive>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

来源: Maven Assembly插件用法


小智 5

试试这个:

  1. 右键单击"项目"面板上的项目,选择"属性"

  2. 在新窗口中单击"运行".

  3. 编辑"Main Class:"字段(单击Browse).

这样,您将选择主类,它是应用程序的入口点,并且将正确创建清单.