我有一个用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
------------------------------------------------------------------------
我希望这能帮助我们找出还有什么遗漏。
为了创建一个Mavenjar
文件,你需要:
cd
命令)mvn清洁包
,而你在你的项目目录中。 jar
将在中
了解更多关于创建Jar文件与Maven:https://javatutorial.net/create-java-jar-file-with-maven
将此插件包含在您的应用程序中。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=测试 但它失败了:未能执行目标组