如果直接在IDEA编辑器中中下载pom依赖 下载失败,可以直接去官网下载jar依赖包(也可以用其他方式,比如找同事拷贝等最终目的是本地需要这个包)
官网点击地址跳转
搜索你需要的包点击进入下载界面
选择对应的版本进行下载 ()
下载界面中有对应的当前包的pom坐标个当前jar包 坐标需要记下俩 后面需要用坐标给下载的jar进行上传本地仓库命名
点击上图的jar就可以下载到本地,下一步是将本地的jar发不到本地maven仓库中, 前提是本地需要转maven,并且配制了环境变量
mvn install:install-file -Dfile=C:\Users\admin\.m2\repository\org\apache\spark\spark-core_2.13_\3.5.1\spark-core_2.13-3.5.1.jar -DgroupId=org.apache.spark -DartifactId=spark-core_2.13 -Dversion=3.5.1 -Dpackaging=jar
太懒就用自动生成上传的脚本命令
import java.util.ArrayList;
public class MavenUtil {
public static void main(String[] args) {
String bash = getMvnBash();
System.out.println(bash);
}
private static String getMvnBash() {
String jarPath = "C:\\spark-core_2.13-3.5.1.jar";//在官网下载到本地的jar所在绝对路径
String pom = " <dependency>\n" +//pom坐标 在pom代码里面赋值粘贴的坐标会自动换行增加\n ,如果要自己编辑 就给pomMsg按顺序赋值(groupId/artifactId/version)三个值
" <groupId>org.apache.spark</groupId>\n" +
" <artifactId>spark-core_2.13</artifactId>\n" +
" <version>3.5.1</version>\n" +
" </dependency>";
String[] split = pom.split("\n");
ArrayList<String> pomMsg = new ArrayList<>(3);
for (String line : split) {
int head = line.indexOf(">");
String delHead = line.substring(head);
int tail = delHead.indexOf("<");
if (tail == -1) continue;
pomMsg.add(delHead.substring(1, tail));
}
StringBuffer sbr = new StringBuffer("mvn install:install-file -Dfile=")
.append(jarPath)
.append(" -DgroupId=")
.append(pomMsg.get(0))
.append(" -DartifactId=")
.append(pomMsg.get(1))
.append(" -Dversion=")
.append(pomMsg.get(2))
.append(" -Dpackaging=jar");
return sbr.toString();
}
}
参数解释
mvn install:install-file
-Dfile=本地下载的jar绝对路径
-DgroupId=下载页面中有groupId
-DartifactId=下载页面中有artifactId
-Dversion=下载页面中有版本编号
-Dpackaging=jar
发布到本地maven的运行效果
发布之后可以看到本地仓库中多出了这个目录和文件
然后再pom代码里面引入坐标发现不会标红报错