繁体   English   中英

Netbeans Export to Jar,包括所有库文件

[英]Netbeans Export to Jar, include all library files

我真正需要的是与Eclipse和Netbeans相当的这个:

在此输入图像描述

我想将Extract required libraries into generated JAR这样我就可以分发它而无需在任何地方都包含lib文件夹。

这是原始问题。

我正在尝试用Netbeans构建一个jar,它将所有库文件打包在其中。 通过选择Export,我听说Eclipse是可能的。 使用Netbeans,如果我“清理并构建”它将在dist文件夹中创建一个可执行jar,但它所依赖的所有库都在一个名为lib的文件夹中。 我需要一切都在一个jar文件中。 我认为它与build.xml文件有关。 这是我的说法。 我在这里弄错了什么?

谢谢您的帮助。

<?xml version="1.0" encoding="UTF-8"?>
<project name="BONotifier" default="default" basedir=".">
  <description>Builds, tests, and runs the project BONotifier.</description>
  <import file="nbproject/build-impl.xml"/>
  <target name="-post-jar">
    <jar jarfile="dist/Combined-dist.jar">
      <zipfileset src="${dist.jar}" excludes="META-INF/*" />
      <zipfileset src="lib/commons-io-1.4.jar" excludes="META-INF/*" />
      <manifest>
        <attribute name="Main-Class" value="controller.MainController"/>
      </manifest>
    </jar>
  </target>
</project>

更新 :上面的代码在build.xml中。 以下是build-impl.xml。 我猜这意味着build.xml在build-impl.xml期间运行。

<target name="-pre-init">
    <!-- Empty placeholder for easier customization. -->
    <!-- You can override this target in the ../build.xml file. -->
</target>

注意我从这个论坛得到了这个。

我更喜欢这个解决方案,因为没有任何东西可以下载,所有这些都基于Ant构建(~20行)。 这样就没有额外的依赖性了。 如果你有几分钟,你也可以了解Ant。

似乎原始文章的链接被破坏了(感谢Oracle)。 这是另一个链接

原始文章也可从Oracle 链接获得

  1. 用7zip(或其他工具)打开生成的jar
  2. 将jar库添加到该文件夹​​中
  3. 编辑清单以设置类路径

好的,这是我的解决方案。 我也遇到了我的程序在Netbeans上编译和运行的问题,但是当我尝试Java -jar MyJarFile.jar时它失败了现在,我还没有完全理解Maven,我认为这就是为什么让Netbeans 8.0.2包含我的jar有困难将文件放入库中以将它们放入jar文件中。 我在考虑如何在Eclipse中使用没有Maven的jar文件。

编译所有依赖项和插件的是Maven。 不是Netbeans。 (如果你能让Netbeans这样做,请告诉我们如何(^。^)v)

[通过打开终端解决 - 用于Linux]。

然后

cd / MyRootDirectoryForMyProject

下一个

mvn org.apache.maven.plugins:maven-compiler-plugin:compile

下一个

mvn安装

这将在目标目录中创建jar文件。

MyJarFile-1.0-罐与 - dependencies.jar

现在

cd目标

(您可能需要运行:chmod + x MyJarFile-1.0-jar-with-dependencies.jar)最后

java -jar MyJarFile-1.0-jar-with-dependencies.jar

请参见

https://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException

我会将这个解决方案发布在其他几个有类似问题的页面上。 希望我能在一周的挫折中拯救一些人。

没有内置的方法来做到这一点。 但是,您可以使用外部工具将其归档为OneJar:

http://one-jar.sourceforge.net/

编辑:显然这甚至是Netbeans团队期望你这样做的方式: http//wiki.netbeans.org/PackagingADistributableJavaApp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM