当前位置: 首页 > 知识库问答 >
问题:

Netbeans导出到Jar,包括所有库文件

蔺弘
2023-03-14

我真正需要的是Eclipse与Netbeans的等价物:

我想将所需的库提取到生成的JAR中,这样我就可以分发它,而无需将lib文件夹包含到任何地方。

这是最初的问题。

我试图建立一个罐子出来的网豆,将包装所有的库文件在里面。我听说选择导出可以使用Eclipse。使用Netbean,如果我“清理并构建”,它将在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>

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

共有3个答案

蒙华翰
2023-03-14

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

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

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

然后

cd/MyRootDirectoryForMyProject

下一个

mvn组织。阿帕奇。专家插件:maven编译器插件:编译

下一个

根项目上进行构建

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

MyJarFile-1.0-jar-with-dependencies。罐子

现在呢

cd目标

(您可能需要运行:chmod x MyJarFile-1.0-jar-with-dependencies.jar)以及

java-jarmyjarfile-1.0-jar-with-dependencies。罐子

请看

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

我将把这个解决方案发布在其他几个有类似问题的页面上。希望我能把某人从一周的沮丧中拯救出来。

相化
2023-03-14
  1. 用7zip(或其他工具)打开生成的jar
何甫
2023-03-14

我更喜欢这个解决方案,因为没有什么可下载的,都是基于Ant构建的(~20行)。这样就没有额外的依赖关系了。如果你有几分钟的时间,你也可以了解蚂蚁。

似乎与原始文章的链接已断开(感谢Oracle)。这里是另一个链接。

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

 类似资料:
  • 问题内容: 如何使用Netbeans将Java项目导出到JAR?我找不到类似Eclipse中的选项。 问题答案: 您需要启用该选项 (但默认情况下启用此功能)

  • 问题内容: 我需要从Eclipse Java项目中导出jar,并且要包含引用的库。我不能为此使用fatjar,这是每个人似乎都推荐的。必须有另一种方式来执行此操作。有人知道这是什么吗? 问题答案: Eclipse的下一个版本(3.5,将于明年6月发布)具有包含所有必要jar的选项。它是在3.5M5中引入的。 或者,您可以尝试使用Maven 2构建项目。然后,您可以使用构建一个“胖”罐。 另一种选择

  • 即将用Maven TestNG Selenium实现一个测试框架。 如何声明告诉TestNG运行所有测试的suite.xml?我尝试了所有这些都无济于事: 我需要用不同的参数指定不同的套件配置,但都运行所有测试。我能找到的每一个例子都清楚地列出了对我来说意义不到零的每个类或包。

  • 好的,这是我们得到的: 我们有两个库包,我们已经将它们编译成JAR。 我们用 而且 给我们装进罐子里。 现在我们想将这两个罐子包含到另一个Java项目中。 所以我们有 /project/src/a_pack/helloworld. /project/libs/starwars.jar /project/libs/barwars.jar /project/manifest.txt MANIFEST.

  • 问题内容: 我正在尝试从Java签名的applet中读取便携式设备。…我在http://code.google.com/p/jmtp/w/list上找到了一个jmtp库 ,可以访问便携式设备,但是当我在其中运行时netbeans它给出了错误 我搜索后发现,我必须将.dll文件作为本机库包含在jmtp项目中…我右键单击项目并导航至属性,然后选择“运行”和“选择的VM选项”作为 并将该jmtp.dll