Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven程序集对文件组合进行tar_Maven_Maven Assembly Plugin - Fatal编程技术网

Maven程序集对文件组合进行tar

Maven程序集对文件组合进行tar,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我正在使用以下程序集文件生成一个jar文件: 工作 罐子 错误的 错误的 运行时 解放党 ${groupId}:${artifactId} 符合事实的 ${groupId}:${artifactId} 我尝试将以下内容作为扩展添加到上面,并将format字段从jar更改为tar。它只是创建了一个tar而不是jar,这是没有用的 ${project.basedir}/runConcept.sh 符合事实的 0755 unix 如何使用jar和shell脚本准备tar文件。因此,当我解压时,它应该有

我正在使用以下程序集文件生成一个jar文件:

工作 罐子 错误的 错误的 运行时 解放党 ${groupId}:${artifactId} 符合事实的 ${groupId}:${artifactId} 我尝试将以下内容作为扩展添加到上面,并将format字段从jar更改为tar。它只是创建了一个tar而不是jar,这是没有用的

${project.basedir}/runConcept.sh 符合事实的 0755 unix
如何使用jar和shell脚本准备tar文件。因此,当我解压时,它应该有一个jar和shell脚本。

如果我理解得很好,您希望创建一个tar,其中包含一个脚本runConcept.sh,其中项目的jar位于根目录下,这个jar将包含它的依赖项、项目代码和lib文件夹中的依赖项

我看到的问题是,当您想要执行主jar时,类加载器将无法找到jar中的库,然后将无法执行它。 但如果你还想这样做,我会这么做。之后,您可以找到其他解决方案

解决方案1

第一次执行maven assembly插件,从jar复制一个程序集文件,其中包含插件的dependencies assembly,属性unpack设置为false,outputDirectory设置为我想要的位置,如:


我已经实施了第2个解决方案。谢谢。我也使用了解决方案-1。谢谢Fabien