相关疑难解决方法(0)

如何将本地jar文件添加到Maven项目?

如何在项目的库源中直接添加本地jar文件(尚未成为Maven存储库的一部分)?

java libraries maven mvn-repo

1053
推荐指数
19
解决办法
81万
查看次数

Maven:通过相对路径为jar添加依赖项

我有一个专有的jar,我想作为依赖添加到我的pom.

但我不想将它添加到存储库.原因是我希望我的常用maven命令等mvn compile开箱即用.(没有要求开发人员将其自己添加到某个存储库中).

我希望jar在源代码控制中位于第3方库中,并通过pom.xml文件的相对路径链接到它.

可以这样做吗?怎么样?

java dependencies build-process maven-2 build

221
推荐指数
7
解决办法
27万
查看次数

将第三方jar包含在Maven阴影jar中,而不将其添加到本地存储库

我已经在Stack Overflow上找到了如何在项目中包含第三方JAR而不将其安装到"本地存储库"的答案:

我可以在没有安装的情况下将jar添加到maven 2 build classpath吗?

但是,当我使用Maven Shade插件创建包含项目所有依赖项的JAR时,第三方JAR不会自动包含在内.

如何让Maven Shade插件将这样的第三方JAR添加到着色的JAR中?


根据得到的答案,我做到了.我做的是,将这个片段添加到我的pom.xml的开头:

<repositories>
  <repository>
    <id>repo</id>
    <url>file://${basedir}/repo</url>
  </repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)

然后为我的项目添加了一个依赖项,也添加到pom.xml:

<dependencies>
  <dependency>
    <groupId>dummy</groupId>
    <artifactId>dummy</artifactId>
    <version>0.0.0</version>
    <scope>compile</scope>
  </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

然后运行命令行将包添加到'repo':

mvn org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file
    -Dfile=<my-jar>.jar -DgroupId=dummy -DartifactId=dummy
    -Dversion=0.0.0 -Dpackaging=jar -DlocalRepositoryPath=`pwd`/repo/
Run Code Online (Sandbox Code Playgroud)

(不确定repo路径是否需要完整路径,但不想冒险.)

repo子目录的内容现在是:

repo/dummy/dummy/0.0.0/dummy-0.0.0.jar
repo/dummy/dummy/0.0.0/dummy-0.0.0.pom
repo/dummy/dummy/maven-metadata-local.xml
Run Code Online (Sandbox Code Playgroud)

现在我可以将其检入版本控制,并且没有本地或远程依赖项.

java maven-2

31
推荐指数
2
解决办法
3万
查看次数