IDEA及Maven配置代理及Maven中央仓库配置详解

一、配置代理

首先,需要本地开启代理入口,如图。

这个跟你使用代理软件有关。像我使用的是qv2ray。

其次,idea配置代理,如图。

1.1 idea配置代理

打开Settings,如图

1.2 maven配置代理

maven配置代理,修改settings.xml,如图。

之后,就能正常且快速的拉取外网依赖咯。

二、maven中央仓库记录

2.1 仓库地址

仓库名称仓库地址需要科学上网
Maven中央仓库https://repo.maven.apache.org/maven2/
Maven中央仓库https://repo1.maven.org/maven2/
阿里云中央仓库(第二个的镜像,同步会再慢点)https://maven.aliyun.com/repository/central×
腾讯云中央仓库http://mirrors.cloud.tencent.com/nexus/repository/maven-public/×
Gis空间信息仓库https://repo.osgeo.org/repository/release/

2.2 settings.xml指定仓库

给出一个简单示例,具体的仓库配置可以直接参考2.3

<mirror>
    <id>mirrorId</id>
    <mirrorOf>repositoryId</mirrorOf>
    <name>Human Readable Name for this Mirror.</name>
    <url>http://my.repository.com/repo/path</url>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</mirror>

2.3 pom.xml指定仓库

<!--使用仓库的顺序,按照如下从前到后。具体配置说明参考https://meethigher.top/blog/2023/idea-proxy/ -->
<repositories>
    <!--阿里维护的中央仓库镜像,不需科学上网-->
    <repository>
        <id>alibaba</id>
        <name>alibaba-maven-central</name>
        <url>https://maven.aliyun.com/repository/central</url>
        <!-- 是否开启发布版构件下载 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启快照版构件下载 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <!--腾讯维护的中央仓库镜像,不需科学上网-->
    <repository>
        <id>tencent</id>
        <name>tencent-maven-central</name>
        <url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
        <!-- 是否开启发布版构件下载 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启快照版构件下载 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <!--apache维护的中央仓库,需要settings.xml配置文件里配置代理以实现科学上网-->
    <repository>
        <id>central2</id>
        <name>apache-maven-central</name>
        <url>https://repo1.maven.org/maven2/</url>
        <!-- 是否开启发布版构件下载 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启快照版构件下载 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <!--官方中央仓库,需要settings.xml配置文件里配置代理以实现科学上网-->
    <repository>
        <id>central</id>
        <name>maven-central</name>
        <url>https://repo1.maven.org/maven2/</url>
        <!-- 是否开启发布版构件下载 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启快照版构件下载 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <!--gis空间信息仓库,需要settings.xml配置文件里配置代理以实现科学上网-->
    <repository>
        <id>gis</id>
        <name>maven-gis</name>
        <url>https://repo.osgeo.org/repository/release/</url>
        <!-- 是否开启发布版构件下载 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启快照版构件下载 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>
<!--插件仓库配置,使用顺序从前到后-->
<pluginRepositories>
    <pluginRepository>
        <id>alibaba</id>
        <name>alibaba-maven-central</name>
        <url>https://maven.aliyun.com/repository/central</url>
        <!-- 是否开启发布版构件下载 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启快照版构件下载 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
    <pluginRepository>
        <id>central</id>
        <name>maven-central</name>
        <url>https://repo1.maven.org/maven2/</url>
        <!-- 是否开启发布版构件下载 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启快照版构件下载 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

2.4 验证所使用的仓库

就比如引入了工具包

<dependency>
    <groupId>top.meethigher</groupId>
    <artifactId>ftp-client-pool</artifactId>
    <version>1.1</version>
</dependency>

打开这个工具包,查看下面的_remote.repositories中使用的仓库id

2.5 内网迁移包注意事项

由于通过互联网下载下来的依赖jar包,都携带了_remote.repositories这个文件,如果后续更新什么的还会通过这里面指定的仓库更新。

故我们在迁移到内网时,需要将_remote.repositories删除掉。

以下放置windows与linux系统的批量删除命令

windows.bat

@echo off
setlocal enabledelayedexpansion

rem 设置要删除的文件名称
set "file_to_delete=_remote.repositories"

rem 循环遍历当前目录及其子目录
for /r %%i in (*) do (
    set "file=%%~nxi"
    
    rem 检查文件名称是否匹配
    if "!file!"=="%file_to_delete%" (
        echo delete "%%i"
        del "%%i"
    )
)

echo delete successfully
pause

linux.sh

#!/bin/bash
# 获取当前所在目录地址
directory="$PWD"
# 使用 find 命令查找并删除目录及其子目录中的 _remote.repositories 文件
find "$directory" -name '_remote.repositories' -type f -delete
echo "delete successfully"
  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 首先,在IDE中创建一个新的Maven项目。 2. 在pom.xml文件中添加Spark依赖项。例如: ``` <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.0</version> </dependency> </dependencies> ``` 3. 创建一个Java类,并在其中编写Spark应用程序代码。例如: ``` import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; public class SparkApp { public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("SparkApp").setMaster("local[*]"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD<String> lines = sc.textFile("input.txt"); JavaRDD<String> words = lines.flatMap(line -> Arrays.asList(line.split(" ")).iterator()); JavaRDD<String> filteredWords = words.filter(word -> !word.isEmpty()); filteredWords.saveAsTextFile("output.txt"); sc.stop(); } } ``` 4. 在IDE中运行Spark应用程序。您可以使用本地模式或分布式模式运行应用程序。 5. 您可以在输出目录中找到生成的输出文件。 ### 回答2: 理解Spark和Maven的基础知识是创建Maven的Spark项目的关键所在。在这个教程中,我们将详细介绍如何创建一个Maven的Spark项目,同时也会解释代码的每一个部分。 Spark和Maven介绍: Spark是一个开源的大数据处理框架,它提供了一个高速的、可扩展的基于内存的计算方法。而MavenJava应用程序的项目管理工具,它使得构建和管理项目变得更加容易。 步骤一:创建Maven项目 1.打开Eclipse IDE,选择"File"-> "New" -> "Project"。 2. 在弹出的对话框中,选择"Maven" -> "Maven Project"。 3. 点击"Next"按钮,选中"Create a simple project"选项,填写项目的GroupId,ArtifactId和Version信息。 4. 点击下一步,填写项目的名称和位置。 5. 选择"Maven archetype",选择"maven-archetype-quickstart"。 6. 最后,点击"Finish"按钮来完成项目的创建。 步骤二:添加Spark依赖 1. 打开pom.xml文件,在里面添加Spark的依赖。Spark有多个版本,所以选择正确的依赖非常重要。 2. 在pom.xml的dependencies标签中添加以下代码: ``` <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.0</version> </dependency> </dependencies> ``` 这里我们使用了Spark 2.4.0的核心版本。 步骤三:创建Java类 1. 右键点击src/main/java文件夹,新建一个Java类。 2. 在类中编写我们的Spark代码,这里我们编写Word Count示例。 ``` import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; public class WordCount { public static void main(String[] args) { String inputFile = args[0]; String outputFile = args[1]; // 创建SparkConf对象 SparkConf conf = new SparkConf() .setAppName("WordCount"); // 创建JavaSparkContext对象 JavaSparkContext sc = new JavaSparkContext(conf); // 读取文件 JavaRDD<String> input = sc.textFile(inputFile); // 对每个单词计数并排序 JavaRDD<String> words = input.flatMap(line -> Arrays.asList(line.split(" ")).iterator()); JavaPairRDD<String, Integer> counts = words.mapToPair(word -> new Tuple2<>(word, 1)) .reduceByKey((a, b) -> a + b); JavaPairRDD<Integer, String> countsSwap = counts.mapToPair(x -> x.swap()); JavaPairRDD<Integer, String> sortedCounts = countsSwap.sortByKey(false); JavaPairRDD<String, Integer> result = sortedCounts.mapToPair(x -> x.swap()); result.saveAsTextFile(outputFile); } } ``` 步骤四:打包和运行代码 1. 在终端中,使用以下命令来进入项目的根目录: ``` cd /path/to/project ``` 2. 在终端中,使用以下命令使用Maven来打包项目: ``` mvn package ``` 这将在项目的target目录中生成可执行的JAR文件。 3. 在终端中,使用以下命令来运行代码: ``` spark-submit --class WordCount /path/to/your-jar-file.jar input.txt output.txt ``` 其中,/path/to/your-jar-file.jar是你的项目生成的JAR文件的路径,input.txt和output.txt是输入和输出文件的路径。 完成这些步骤之后,你就可以成功的创建了一个Maven的Spark项目,并运行了一个简单的Spark应用程序。 ### 回答3: 首先,为了创建Maven的Spark项目,我们需要先安装Maven和Spark。在安装完成后,我们可以按照以下步骤创建Maven的Spark项目: 1. 在命令行中输入以下命令来创建一个基础项目: mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 2. 在创建完成之后,我们需要在pom.xml文件中添加Spark的依赖。可以在Maven官网上找到Spark的依赖信息,并将其复制到pom.xml文件中。 3. 接下来,我们需要在我们的代码中添加Spark相关的代码来运行Spark应用程序。Spark应用程序通常由SparkConf和SparkContext对象的创建和使用组成。 4. 创建SparkConf对象时,需要使用setAppName方法来设置应用程序的名称,并使用setMaster方法来设置Spark应用程序在哪个节点上运行。 5. 创建SparkContext对象时,需要向构造函数传递SparkConf对象,并且指定Spark应用程序所需的一些配置,例如worker节点的数量等。 6. 最后,我们可以在我们的代码中运行Spark应用程序,使用SparkContext对象来创建RDD对象并执行相关的操作。 以上就是创建Maven的Spark项目的详细步骤。需要注意的是,在完成Spark应用程序的编写之后,我们还需要使用Maven来构建和打包应用程序,以便在集群上运行。通过maven命令mvn package,我们可以将Spark应用程序打包成一个jar文件,并在Spark集群上运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值