Java 使用pom.xml将JAR从本地磁盘空间下载到.m2存储库
我正致力于将简单java项目(相当古老)迁移到基于Maven的项目中,在当前的项目中,所有需要的JAR都保存在Java 使用pom.xml将JAR从本地磁盘空间下载到.m2存储库,java,maven,maven-3,maven-plugin,Java,Maven,Maven 3,Maven Plugin,我正致力于将简单java项目(相当古老)迁移到基于Maven的项目中,在当前的项目中,所有需要的JAR都保存在lib文件夹中 对于lib文件夹中的每个jar,我在maven central repository中搜索各自的依赖项,并将该依赖项添加到pom.xml 但我在central maven repository中找不到某些JAR,团队中也没有我可以帮助识别位置的来源(如果是第三方) 一种方法是,我可以将这些JAR上传到Nexus之类的存储库中,在pom.xml中,我可以在repositor
lib
文件夹中
对于lib
文件夹中的每个jar,我在maven central repository中搜索各自的依赖项,并将该依赖项添加到pom.xml
但我在central maven repository中找不到某些JAR,团队中也没有我可以帮助识别位置的来源(如果是第三方)
一种方法是,我可以将这些JAR上传到Nexus之类的存储库中,在pom.xml中,我可以在repository
标记下提到它的url,因此在点击mvn install
后,这些JAR将被添加到.m2
但目前,我也没有任何位置可以上传这些罐子。所以我会把它们放在我机器上的一个文件夹里
只是想知道在maven中是否有任何方法(在
pom.xml
中提到的东西)可以指向该文件夹(万一jar在central maven repo中不可用),并将其下载到.m2
,如果您没有maven存储库可供使用,我能想到的第一个选择是在您的区域设置maven repo中安装带有maven的第三方JAR,您可以通过两种方式完成:
1) 命令行:
mvn安装:安装文件-Dfile=-DgroupId=-DartifactId=-Dversion=-Dpackaging=
这是官方的小牛
2) 使用maven安装插件(例如,对于一个项目,我正在分发一个包含JAR的项目,以将其作为环境设置分发给团队中的所有开发人员):
org.apache.maven.plugins
maven安装插件
2.5.1
某些组id
某个工件id
某些版本
罐子
jar的路径
符合事实的
安装jar库
安装文件
验证
编辑:
我已经阅读了另一个答案,其中建议在依赖中使用systemPath
当然这是一个选项,但在最初的主题中被问到:
“我只是想知道maven中是否有任何方法(在pom.xml中提及)指向该文件夹(以防central maven repo中没有jar)并将其下载到.m2”
使用systemPath并不能满足ans要求jar在同一路径的所有系统中始终可用的要求。我用过几次,它主要在你不需要与其他团队成员分享的项目上运行良好。
我不建议,假设团队使用不同的操作系统(windows和linux),您应该配置不同的配置文件(通过操作系统激活它们),或者在所有系统上以相同的方式定义一些路径)。
除系统范围外,当包括战争或战争中的依赖性时,beahviour与“提供”相同。
根据我的经验,在本地repo中安装带有配置步骤的jar的缺点较少
希望我能帮上忙
再见如果您没有maven存储库可供使用,我可以考虑的第一个选项是在您的区域设置maven repo中安装带有maven的第三方JAR,您可以通过两种方式完成: 1) 命令行: mvn安装:安装文件-Dfile=-DgroupId=-DartifactId=-Dversion=-Dpackaging= 这是官方的小牛 2) 使用maven安装插件(例如,对于一个项目,我正在分发一个包含JAR的项目,以将其作为环境设置分发给团队中的所有开发人员):
org.apache.maven.plugins
maven安装插件
2.5.1
某些组id
某个工件id
某些版本
罐子
jar的路径
符合事实的
安装jar库
安装文件
验证
编辑:
我已经阅读了另一个答案,其中建议在依赖中使用systemPath
当然这是一个选项,但在最初的主题中被问到:
“我只是想知道maven中是否有任何方法(在pom.xml中提及)指向该文件夹(以防central maven repo中没有jar)并将其下载到.m2”
使用systemPath并不能满足ans要求jar在同一路径的所有系统中始终可用的要求。我用过几次,它主要在你不需要与其他团队成员分享的项目上运行良好。
我不建议,假设团队使用不同的操作系统(windows和linux),您应该配置不同的配置文件(通过操作系统激活它们),或者在所有系统上以相同的方式定义一些路径)。
除系统范围外,当包括战争或战争中的依赖性时,beahviour与“提供”相同。
根据我的经验,在本地repo中安装带有配置步骤的jar的缺点较少
希望我能帮上忙
请参见使用下面的依赖项将本地机器中可用的jar包含到maven中
<dependency>
<groupId>groupid</groupId>
<artifactId>artifactid</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}\lib\JAR_NAME.jar</systemPath>
</dependency>
groupid
人工的
1
系统
${basedir}\lib\JAR\u NAME.JAR
使用下面的依赖项将本地机器中可用的jar包含到maven中
<dependency>
<groupId>groupid</groupId>
<artifactId>artifactid</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}\lib\JAR_NAME.jar</systemPath>
</dependency>
groupid
人工的
1
系统
${basedir}\lib\JAR\u NAME.JAR
如果要将jar存储到本地存储库中,请使用下面的命令
您可以通过使用eclipse和命令行来完成
eclips:安装:安装文件-Dfile=LOCAL JAR PATH-DgroupId=com.xxx.xx-DartifactId=JAR NAME-dpackage=JAR
<dependency>
<groupId>com.xxx.xx</groupId>
<artifactId>JAR NAME</artifactId>
<version>JAR-VERSION</version>
</dependency>