Java Maven:如何生成独立的应用程序?

Java Maven:如何生成独立的应用程序?,java,maven,ant,distribute,Java,Maven,Ant,Distribute,我正在使用Maven管理控制台应用程序项目。在我的机器上,我输入mvnexec:java,Maven处理所有事情。然而,我想要的是在不同的机器上执行相同的应用程序,而不需要Maven的帮助 在NetBeans中,Ant项目有一个包含所有必要文件的dist目录。您所要做的就是键入java-jar dist/App.jar。如何让Maven生成这样的可分发目录或归档文件 PS:虽然看起来很相关,但这不是我在maven中使用的。的副本 Application Assembler插件是一个Maven插件

我正在使用Maven管理控制台应用程序项目。在我的机器上,我输入mvnexec:java,Maven处理所有事情。然而,我想要的是在不同的机器上执行相同的应用程序,而不需要Maven的帮助

在NetBeans中,Ant项目有一个包含所有必要文件的dist目录。您所要做的就是键入java-jar dist/App.jar。如何让Maven生成这样的可分发目录或归档文件

PS:虽然看起来很相关,但这不是我在maven中使用的。

的副本

Application Assembler插件是一个Maven插件,用于生成启动java应用程序的脚本。项目本身的所有依赖项和工件都放置在定义的汇编目录中生成的Maven存储库中。所有工件依赖项+项目中的工件都添加到生成的bin脚本中的类路径中

Maven的汇编插件主要用于允许用户将项目输出及其依赖项、模块、站点文档和其他文件聚合到一个可分发的归档文件中

我在maven中使用过

Application Assembler插件是一个Maven插件,用于生成启动java应用程序的脚本。项目本身的所有依赖项和工件都放置在定义的汇编目录中生成的Maven存储库中。所有工件依赖项+项目中的工件都添加到生成的bin脚本中的类路径中

Maven的汇编插件主要用于允许用户将项目输出及其依赖项、模块、站点文档和其他文件聚合到一个可分发的归档文件中


您可以使用maven jar插件构建一个可执行的jar文件;更多信息请参见此处的示例页面:


这将简单地创建一个可以通过java-jar执行的一体式jar

您可以使用maven jar插件构建一个可执行的jar文件;更多信息请参见此处的示例页面:


这将创建一个可以通过java-jar执行的多功能jar。事实上,它与您所指的问题完全相同。@gizmo问题可能类似,但我所寻求的答案却大不相同。事实上,这与您所指的问题完全相同。@gizmo问题可能类似,但我所寻求的答案却大不相同。我已经使用了maven jar插件,但生成的jar似乎不是一体机。当我执行它时,我得到NoClassDefFoundErrors。我遗漏了什么吗?默认范围中定义的任何依赖项都应该重新打包到您的jar中。如果您对提供的作用域有依赖关系,则不会包含它们,因为它们被假定为在执行环境中提供,例如,EE项目中的EE JAR将部署在TomCat EE env中。我也这么认为,我给了它另一个机会,但没有运气。我正在使用twitter4j库。Maven可以毫无问题地下载并安装它。但是java-jar在目标jar文件中找不到twitter4j.StatusListener类,不幸的是Eser是正确的。我已经能够重现这个问题。如果打开jar文件并将其与正常工作的jar文件进行比较,则缺少一个启动inf文件夹。我不知道如何纠正这个问题。我已经使用了maven jar插件,但是生成的jar似乎不是一体机。当我执行它时,我得到NoClassDefFoundErrors。我遗漏了什么吗?默认范围中定义的任何依赖项都应该重新打包到您的jar中。如果您对提供的作用域有依赖关系,则不会包含它们,因为它们被假定为在执行环境中提供,例如,EE项目中的EE JAR将部署在TomCat EE env中。我也这么认为,我给了它另一个机会,但没有运气。我正在使用twitter4j库。Maven可以毫无问题地下载并安装它。但是java-jar在目标jar文件中找不到twitter4j.StatusListener类,不幸的是Eser是正确的。我已经能够重现这个问题。如果打开jar文件并将其与正常工作的jar文件进行比较,则缺少一个启动inf文件夹。我不知道该怎么纠正。@khmarbaise出于兴趣,你喜欢第一个还是第二个?我在不同的环境中使用了这两个插件。我尝试了maven assembly插件,它看起来更正式,而且很有效!不过,构建jar文件花了一些时间。@Peter Lawrey是appassembler的第一个插件……maven assembly的更多官方功能是什么?@khmarbaise它由apache.org托管。。。这是我第一次尝试的唯一原因。@Eser Aygün你知道codehaus上的插件列表吗@出于兴趣,你喜欢第一个还是第二个?我在不同的环境中使用了这两个插件。我尝试了maven assembly插件,它看起来更正式,而且很有效!不过,构建jar文件花了一些时间。@peterlawrey第一个AppassemblerPlugi
n、 ..maven assembly更官方的是什么?@khmarbaise它由apache.org托管。。。这是我第一次尝试的唯一原因。@Eser Aygün你知道codehaus上的插件列表吗。。。