所以我试图将两个本地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
之后)时,我收到以下错误
[ERROR] Failed to execute goal on project PROJECT: Could not resolve dependencies for project edu.mlab.project:PROJECT:war:1.0-SNAPSHOT: The following artifacts could not be resolved: edu.mlab.jar1:jar1_local:jar:1.0, edu.mlab.jar2:jar2_local:jar:1.0: Failure to find edu.mlab.jar1:jar1_local:jar:1.0 in file:///Users/mlab/Desktop/2016/project_web/resources was cached in the local repository, resolution will not be reattempted until the update interval of local-maven-repo has elapsed or updates are forced -> [Help 1]
由于我的jar1和jar2正好在资源文件夹中,所以我不确定会出现什么问题。此外,我已尝试使用系统范围导入它们的方法,但这不适用于我的目的,因为我希望它们包含在战争工件中。
非常感谢!
答案 0 :(得分:1)
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>
答案 1 :(得分:1)
假设:您正在使用Windows
和您的jar1&amp; jar2位于C:\ Users \ yourusername中
夹
设置 M2_HOME 环境变量,例如
C:\Users\yourusername>set M2_HOME=C:\apache-maven-3.3.9
C:\Users\yourusername>echo %M2_HOME%
C:\apache-maven-3.3.9
手动创建文件夹C:\ local_maven_repo,然后编辑编辑文件
运行 mvn 命令安装jar1&amp; jar2进入C:\ local_maven_repo,例如
C:\Users\yourusername>mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=jar1.jar -DgroupId=edu.mlab -DartifactId=jar1 -Dversion=1.0 -Dpackaging=jar -DlocalRepositoryPath=C:\local_maven_repo
C:\Users\yourusername>mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=jar2.jar -DgroupId=edu.mlab -DartifactId=jar2 -Dversion=1.0 -Dpackaging=jar -DlocalRepositoryPath=C:\local_maven_repo
C:\Users\yourusername>dir C:\local_maven_repo\edu\mlab\jar1\1.0\
C:\Users\yourusername>dir C:\local_maven_repo\edu\mlab\jar2\1.0\
文件:C:\ local_maven_repo \ edu \ mlab \ jar1 \ 1.0 \ jar1-1.0.pom
<groupId>edu.mlab</groupId>
<artifactId>jar1</artifactId>
<version>1.0</version>
文件:C:\ local_maven_repo \ edu \ mlab \ jar2 \ 1.0 \ jar2-1.0.pom
<groupId>edu.mlab</groupId>
<artifactId>jar2</artifactId>
<version>1.0</version>
复制以下内容并将其包含在pom.xml中,如下所示
<dependency>
<groupId>edu.mlab</groupId>
<artifactId>jar1</artifactId>
<version>1.0</version>
<dependency>
<dependency>
<groupId>edu.mlab</groupId>
<artifactId>jar2</artifactId>
<version>1.0</version>
<dependency>