gpt4 book ai didi

java - 从 Netbeans/Maven 项目创建桌面 jar

转载 作者:行者123 更新时间:2023-12-01 18:05:29 24 4
gpt4 key购买 nike

我有一个用 Java 编写的小实用程序,用 Netbeans 编写为“Maven 项目”(项目上的小图标上面有风格化的“m”)。我想将该实用程序及其依赖的库打包为 jar 文件;我希望 jar 文件包含必要的运行时库,这样我就不必单独打包它们。

Netbeans 说明说,当我运行构建时,我将在项目目录下创建“dist”和“lib”目录,并且(因为我已经在项目属性中设置了主类),我将在我的 list 文件中指定它。这一切都没有发生;该项目在 IDE 下构建并运行良好,但它创建了一个仅包含实用程序特定类的 jar,没有库类, list 中没有写入我的主类,并且库类不在 jar 中。

是因为这是一个 Maven 项目而不是默认的 Netbeans Java 项目吗?如何使用 Netbeans 中的 Maven 项目完成此任务?

--

按照建议添加 maven-assemble-plugin 后,“clean and build”的控制台输出如下所示:

cd C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.7.0_07" M2_HOME=C:\\devTools\\apache-maven cmd /c "\"\"C:\\devTools\\apache-maven\\bin\\mvn.bat\" -DskipTests=true
-Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8.1\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 clean install\"" Scanning for projects...

------------------------------------------------------------------------ Building OlbUserLoad 1.0-SNAPSHOT
------------------------------------------------------------------------

--- maven-clean-plugin:2.4.1:clean (default-clean) @ OlbUserLoad --- Deleting C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target

--- maven-resources-plugin:2.5:resources (default-resources) @ OlbUserLoad --- [debug] execute contextualize Using 'UTF-8' encoding to copy filtered resources. Copying 1 resource Copying 0 resource

--- maven-compiler-plugin:2.0.2:compile (default-compile) @ OlbUserLoad --- Compiling 1 source file to C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target\classes

--- maven-resources-plugin:2.5:testResources (default-testResources) @ OlbUserLoad --- [debug] execute contextualize Using 'UTF-8' encoding to copy filtered resources. skip non existing resourceDirectory C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\src\test\resources

--- maven-compiler-plugin:2.0.2:testCompile (default-testCompile) @ OlbUserLoad --- Nothing to compile - all classes are up to date

--- maven-surefire-plugin:2.10:test (default-test) @ OlbUserLoad --- Tests are skipped.

--- maven-jar-plugin:2.3.2:jar (default-jar) @ OlbUserLoad --- Building jar: C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target\OlbUserLoad-1.0-SNAPSHOT.jar

--- maven-install-plugin:2.3.1:install (default-install) @ OlbUserLoad --- Installing C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target\OlbUserLoad-1.0-SNAPSHOT.jar to C:\Users\rcook\.m2\repository\com\accesspoint\OlbUserLoad\1.0-SNAPSHOT\OlbUserLoad-1.0-SNAPSHOT.jar Installing C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\pom.xml to C:\Users\rcook\.m2\repository\com\accesspoint\OlbUserLoad\1.0-SNAPSHOT\OlbUserLoad-1.0-SNAPSHOT.pom
------------------------------------------------------------------------ BUILD SUCCESS
------------------------------------------------------------------------ Total time: 2.155s Finished at: Fri Apr 22 10:15:28 EDT 2016 Final Memory: 17M/152M
------------------------------------------------------------------------

我希望这能帮助我们找出还缺少什么。

最佳答案

将此插件包含在您的 .pom 文件中。这是为了告诉 Maven 使用依赖项来组装您的应用程序。

此后,在 Netbeans 中构建您的项目,您将看到带有依赖项的 jar。

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>Your Main Class</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>

引用:Creating a Java Maven Project in NetBeans IDE 7.4

关于java - 从 Netbeans/Maven 项目创建桌面 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36795967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com