[英]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>
注意我从这个论坛得到了这个。
好的,这是我的解决方案。 我也遇到了我的程序在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.