如何将本地jar文件(还不是Maven存储库的一部分)直接添加到项目的库源中?


当前回答

下载jar文件将jar文件复制到项目文件夹get inteliJ idea Maven命令区键入以下命令

mvn安装:安装文件-Dfile=YOUR_JAR_file_LOCATION*JARNAME.JAR-DgroupId=org.primefaces.themes-DastifactId=iMetro-Dversion=1.0.1-Dpackage=JAR*


例子:

mvn安装:安装文件-Dfile=C:\Users\ranushka.l\Desktop\test\spring-web-1.0.2.jar-DgroupId=org.primefaces.themes-DartifactId=iMetro-Dversion=1.0.1-Dpackage=jar

其他回答

根项目上进行构建

您可以在命令行中编写以下代码,或者如果您使用eclipse内置maven,右键单击项目->运行方式->运行配置…->在左侧面板中,右键单击Maven Build->new configuration->在基本目录中的Goals&中编写代码:${project_loc:NameOfYourProject}->运行

mvn install:install-file
   -Dfile=<path-to-file>
   -DgroupId=<group-id>
   -DartifactId=<artifact-id>
   -Dversion=<version>
   -Dpackaging=<packaging>
   -DgeneratePom=true

其中每一个都指:

<path to file>:要加载的文件的路径,例如->c:\kapcha-2.3jar

<group id>:文件应在例如com.google.code下注册的组

<artifact-id>:文件的工件名称,例如->kappcha

<version>:文件的版本,例如->2.3

<package>:文件的打包,例如->jar

2.安装后,只需在pom.xml中声明jar。

 <dependency>
      <groupId>com.google.code</groupId>
      <artifactId>kaptcha</artifactId>
      <version>2.3</version>
 </dependency>

在Apache Maven 3.5.4中,我必须添加双引号。如果没有双重报价,这对我来说是行不通的。

例子:mvn安装:安装文件“-Dfile=jar文件的位置”“-DgroupId=组id”“-DastifactId=工件id”“-D版本=版本”“-Dpackage=包类型”

要安装第三方jar,请调用如下命令

mvn install:install-file -DgroupId= -DartifactId= -Dversion= -Dpackaging=jar -Dfile=path

在maven项目的根目录创建一个新文件夹,比如本地maven repo。

只需在pom.xml的<project>中添加一个本地repo:

<repositories>
    <repository>
        <id>local-maven-repo</id>
        <url>file:///${project.basedir}/local-maven-repo</url>
    </repository>
</repositories>

然后,对于要安装的每个外部jar,转到项目的根目录并执行:

mvn deploy:deploy-file -DgroupId=[GROUP] -DartifactId=[ARTIFACT] -Dversion=[VERS] -Durl=file:./local-maven-repo/ -DrepositoryId=local-maven-repo -DupdateReleaseInfo=true -Dfile=[FILE_PATH]

依赖关系的重要部分是:${pom.basedir}(而不仅仅是${basedir})

<dependency>
    <groupId>org.example</groupId>
    <artifactId>example</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/src/lib/example.jar</systemPath>
</dependency>