Java 如何使用Maven添加外部jar库,并可能遵循完整(内部带有外部jar)打包?

Java 如何使用Maven添加外部jar库,并可能遵循完整(内部带有外部jar)打包?,java,maven,jar,maven-shade-plugin,uberjar,Java,Maven,Jar,Maven Shade Plugin,Uberjar,我使用Maven,并拥有外部库(coatom)。我想用Maven将这个库添加到我的项目中,然后打包到1个uber jar中 1) 要添加库,我可以使用local repo() 2) 为了得到一个带有依赖项的jar,我可以使用shade插件或其他插件 但总的来说,这是行不通的,因为在第一步中,依赖项具有作用域,并且这个依赖项不会被添加到uber jar中 我知道我可以安装mvn,但它只能在我的机器上工作 有可能实现我最初的目标吗?对您来说,最简单的解决方案可能是像这样使用本地(公司?)存储库 但是

我使用Maven,并拥有外部库(coatom)。我想用Maven将这个库添加到我的项目中,然后打包到1个uber jar中

1) 要添加库,我可以使用local repo()

2) 为了得到一个带有依赖项的jar,我可以使用shade插件或其他插件

但总的来说,这是行不通的,因为在第一步中,依赖项具有作用域,并且这个依赖项不会被添加到uber jar中

我知道我可以安装mvn,但它只能在我的机器上工作


有可能实现我最初的目标吗?

对您来说,最简单的解决方案可能是像这样使用本地(公司?)存储库

但是,如果不可能,您可以使用项目存储库中的本地存储库(从您的存储库中),并将其保存在您的vcs中


项目中
项目内回购
文件://${project.basedir}/libs
唯一的技巧是如何将工件(JAR)获取到本地存储库:

mvn deploy:deploy-file -Dfile=fooLib.jar  -DgroupId=com.test -DartifactId=fooLib -Dversion=1.0.1 -Dpackaging=jar -Durl=file://pathTo/libRepo -DrepositoryId=in-project
你只是把它当作其他依赖项使用


com.test

,因为这样的依赖关系预计会在系统中找到,因此不会与JAR捆绑在一起。

什么样的范围??你试过了吗?mvn安装很好,但我需要在每台计算机上安装,你使用什么范围??它应该工作良好,也许检查这个问题,如果你有类似的问题,它的工作。在这个解决方案中,我应该在每台计算机上安装这个文件(在那里我将运行我的程序)。我想修改vcs下的内容(pom.xml或我项目中的其他文件)。