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

从Netbean/Maven项目创建桌面jar

崔宇
2023-03-14

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

Netbeans指令说,当我运行build时,我将在项目目录下创建'dist'和'lib'目录,并且(因为我在项目属性中设置了主类),我将在清单文件中指定它。所有这些都没有发生;该项目在IDE下构建并运行良好,但它创建了一个jar,其中只包含特定于实用程序的类,没有库类,清单中没有写入我的主类,库类也不在jar中。

这是因为这是一个maven项目而不是默认的NetbeanJava项目吗?我如何在Netbean中使用Maven项目完成这项工作?

--

按照建议添加maven assembly插件后,“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
------------------------------------------------------------------------

我希望这能帮助我们找出还有什么遗漏。

共有2个答案

唐照
2023-03-14

为了创建一个Mavenjar文件,你需要:

  • 打开命令行(shell为Linux,cmd为Windows)。
  • 导航到你的项目目录(使用cd命令)
  • 运行mvn清洁包,而你在你的项目目录中。
  • 你的jar将在

了解更多关于创建Jar文件与Maven:https://javatutorial.net/create-java-jar-file-with-maven

戚弘和
2023-03-14

将此插件包含在您的应用程序中。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>

请参阅:在NetBeans IDE 7.4中创建Java Maven项目

 类似资料:
  • 主要内容:创建 Maven 项目,目录结构Maven 提供了大量不同类型的 Archetype 模板,通过它们可以帮助用户快速的创建 Java 项目,其中最简单的模板就是 maven-archetype-quickstart,它只需要用户提供项目最基本的信息,就能生成项目的基本结构及 POM 文件。 创建 Maven 项目 下面我们将通过 maven-archetype-quickstart 原型,在 D:\maven 目录中创建一个基于

  • 主要内容:创建 Web 应用,打包 Web 应用,部署 Web 应用到目前为止,我们所接触的 Maven 项目的打包类型只有 JAR 和 POM ,但在现今的互联网时代,我们创建的大部分应用程序都是 Web 应用,在 Java 中 Web 应用的打包方式是 WAR。 本节我们将介绍如何使用 Maven 创建、构建、部署和运行 Web 应用程序。 创建 Web 应用 通过使用 Maven 的 maven-archetype-webapp 模板可以创建一个简单的 We

  • 我想在我的linux终端上编译一个Netbeans Maven-Java应用程序。 这是因为我想使用Git CVS并能够在独立于IDE的服务器中编译项目。 但我很难真正理解依赖关系是如何工作的,或者我就是这么想的。 我正在使用一个简单的java应用程序代码连接到mysql数据库并获取一些信息。 我正在使用此代码: 然后将mysql连接器java添加到项目依赖项pom中。xml如下所示: 如果我将n

  • 我使用的是Maven3.0.3,我有一个多模块Maven项目,我想用它来创建原型。结构如下: 最初的结构是: 运行cmd后, 在文件夹中生成的文件夹结构与上面相同(即),而不像 不知道我能做些什么让它工作吗?

  • 问题内容: 如何在Eclipse中创建一个简单的Maven项目。每次创建项目时都会出现错误。 错误说明资源路径位置类型CoreException:无法计算构建计划:插件org.apache.maven.plugins:maven- compiler-plugin:2.3.2或其依赖项之一无法解析:无法读取组织的工件描述符。 apache.maven.plugins:maven- compiler-

  • 我正在尝试使用以下命令创建vaadin 6 maven项目:mvn原型:generate-DarchetypeGroupId=com。vaadin-DarchetypeArtifactId=vaadin原型应用程序-DarchetypeVersion=6.8.11-Darchetype。属性=生成。属性-DgroupId=com。实例cem-DartifactId=测试 但它失败了:未能执行目标组