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.)
我在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>
另一种方法是在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>
小智 5
试试这个:
右键单击"项目"面板上的项目,选择"属性"
在新窗口中单击"运行".
编辑"Main Class:"字段(单击Browse).
这样,您将选择主类,它是应用程序的入口点,并且将正确创建清单.