如何在IntelliJ IDEA中添加外部jar文件作为Maven项目的依赖项?因为当我在依赖列表中添加它并尝试使用Maven进行编译时,我收到了一个错误,即无法找到该依赖项。
答案 0 :(得分:1)
理想情况下,您应该使用mvn deploy:deploy-file将JAR部署到您的存储库。
如果不可能,您可以将依赖关系scope
设置为system
,然后在依赖关系中包含systemPath
,从而为jar提供该路径。这在POM Reference - dependencies中进行了解释,并附带一个警告,即依赖于具有system
范围依赖关系的工件的任何工件也希望通过systemPath
找到jar。
答案 1 :(得分:1)
你可以
定义一个像这样的系统/本地依赖:
<dependency>
<groupId>example</groupId>
<artifactId>example</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>lib/example-1.0.0.jar</systemPath>
</dependency>
正如Gimby指出的那样,请注意系统依赖性应该“只是在那里”,因此它们不会与您的工件一起打包和部署。请参阅this question以供参考。
将工件安装到您的本地仓库:
mvn install:install-file -Dfile=<path-to-file> \
-DgroupId=<myGroup> \
-DartifactId=<myArtifactId> \
-Dversion=<myVersion> \
-Dpackaging=<myPackaging> \
-DlocalRepositoryPath=<path-to-my-repo>
答案 2 :(得分:0)
步骤1:在目标maven-install-plugin
中将install-file
配置为pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>install-external-non-maven-jar-MWS-Client-into-local-maven-repo</id>
<phase>clean</phase>
<configuration>
<repositoryLayout>default</repositoryLayout>
<groupId>com.amazonservices.mws</groupId>
<artifactId>mws-client</artifactId>
<version>1.0</version>
<file>${project.basedir}/lib/MWSClientJavaRuntime-1.0.jar</file>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
请确保根据您的实际文件路径编辑file
路径(建议将这些外部非Maven jar放在某个文件夹中,例如lib
,然后将此{{1} }项目中的文件夹,以便使用项目特定的相对路径,并避免添加系统特定的绝对路径。
如果您有多个外部jar,只需对同一lib
中的其他jar重复<execution>
。
第2步:如上所示,在maven-install-plugin
文件中配置了maven-install-plugin
之后,您必须照常在pom.xml
中使用这些jar :
pom.xml
请注意, <dependency>
<groupId>com.amazonservices.mws</groupId>
<artifactId>mws-client</artifactId>
<version>1.0</version>
</dependency>
仅将您的外部jar复制到本地maven-install-plugin
Maven存储库。而已。它不会自动将这些jar作为项目的Maven依赖项包含在内。
这是次要的要点,但有时容易错过。