因此,我尝试将两个本地 jar 文件包含到我拥有的 Maven 项目中,但未能成功。我尝试过解决这些线程中的解决方案:1 2但它仍然没有真正发挥作用。以下是我的 pom.xml 文件的关键部分:
<repository>
<id>local-maven-repo</id>
<url>file://${basedir}/resources</url>
</repository>
然后是依赖项:
<dependency>
<groupId>edu.mlab.jar1</groupId>
<artifactId>jar1_local</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>edu.mlab.jar2</groupId>
<artifactId>jar2_local</artifactId>
<version>1.0</version>
</dependency>
这两个 jar 文件分别包含 edu.mlab.jar1
和 edu.mlab.jar2
处的包声明,因此这就是我想要的位置。 jar 文件位于 resources 文件夹中,就在基本目录下。
这就是设置。现在,当我尝试 mvn package
(在 mvn clean
之后)时,我收到以下错误
[错误] 无法在项目 PROJECT 上执行目标:无法解析项目 edu.mlab.project:PROJECT:war:1.0-SNAPSHOT 的依赖项:无法解析以下 Artifact :edu.mlab.jar1 :jar1_local:jar:1.0,edu.mlab.jar2:jar2_local:jar:1.0:在文件中找不到edu.mlab.jar1:jar1_local:jar:1.0:///Users/mlab/Desktop/2016/project_web/resources已缓存在本地存储库中,直到 local-maven-repo 的更新间隔已过或强制更新时,才会重新尝试解析 -> [帮助 1]
我不太确定出了什么问题,因为我的 jar1 和 jar2 正好位于资源文件夹中。另外,我尝试了在系统范围内导入它们的方法,但这对我的目的不起作用,因为我希望它们包含在 war Artifact 中。
非常感谢!
最佳答案
- 首先尝试使用以下命令将这两个 jar 文件安装到
Maven
的本地存储库
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=path-to-your-artifact-jar \
-DgroupId=your.groupId \
-DartifactId=your-artifactId \
-Dversion=version \
-Dpackaging=jar \
-DlocalRepositoryPath=path-to-specific-local-repo
引用网址:http://maven.apache.org/plugins/maven-install-plugin/examples/specific-local-repo.html
注意:您的本地 Maven
存储库在安装 $M2_HOME\conf\settings.xml 中指定,例如
<localRepository>C:\local_maven_repo</localRepository>
然后使用常规的
Maven
标签<dependency> <groupId>your.groupId</groupId> <artifactId>your-artifactId</artifactId> <version>your-version</version> </dependency>
关于java - 在 Maven 项目中包含本地 jar 文件 - 未找到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38382889/