vlambda博客
学习文章列表

Java开发本地环境搭建:JDK、Maven环境配置

引言

本文核心内容:JDK和Maven的环境配置

在这里插入图片描述
  1. idea https://www.jetbrains.com/zh-cn/idea/download/other.html

I 前置知识

1.1 Maven 依赖管理

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项。我们可以在pom.xml中的dependencies标签指定依赖的组件名称、版本等。如:


<dependencies>
    <!-- 在这里添加你的依赖 -->
    <dependency>
        <groupId>ldapjdk</groupId>  <!-- 库名称,也可以自定义 -->
        <artifactId>ldapjdk</artifactId>    <!--库名称,也可以自定义-->
        <version>1.0</version> <!--版本号-->
        <scope>system</scope> <!--作用域-->
        <systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath> <!--项目根目录下的lib文件夹下-->
    </dependency> 
</dependencies>


spring boot parent 里的<dependency Management>指定了各组件的版本号,这个优先级要高于传递依赖的版本。

1.2 JDK环境变量

  • JAVA_HOME:该环境变量的值就是 Java 所在的目录,一些 Java 版的软件和一些 Java 的工具需要用到该变量,设置 PATH 和 CLASSPATH 的时候,也可以使用该变量以方便设置。

  • PATH:指定一个路径列表,用于搜索可执行文件的。

执行一个可执行文件时,如果该文件不能在当前路径下找到,则依次寻找 PATH 中的每一个路径,直至找到。或者找完 PATH 中的路径也不能找到,则报错。Java 的编译命令 (javac),执行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安装路径下的 bin 目录中。因此我们应该将该路径添加到 PATH 变量中。%JAVA_HOME%\bin

  • CLASSPATH:也指定一个路径列表,是用于搜索 Java 编译或者运行时需要用到的类。

在 CLASSPATH 列表中除了可以包含路径外,还可以包含 .jar 文件。Java 查找类时会把这个 .jar 文件当作一个目录来进行查找。通常,我们需要把 JDK 安装路径下的 jre\lib\rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。%JAVA_HOME%\lib set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;.

注:PATH 和 CLASSPATH 都指定路径列表,列表中的各项 (即各个路径) 之间使用分隔符分隔。在 Windows 下,分隔符是分号 (;), 而在 Linux 下,分隔符是冒号 (:)

II Jdk安装及环境变量设置

2.1 windows 下配置环境变量

  1. 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;

  2. 安装完成后,右击“我的电脑”,点击“属性”;

  3. 选择“高级”选项卡,点击“环境变量”;

  4. 在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;

  5. JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依*此变量);

1)Path使得系统可以在任何路径下识别java命令,设为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 2) CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示当前路径) 3)%JAVA_HOME%就是引用前面指定的JAVA_HOME;

Java开发本地环境搭建:JDK、Maven环境配置
在这里插入图片描述
  1. 判断jdk是否安装成功标志

“开始”->;“运行”,键入“cmd”;键入命令“java -version”,“java”,“javac”几个命令,出现画面,说明环境变量配置成功;

2.2 Linux下配置环境变量

JDK 在 Windows 下的安装路径是 C:\jdk\,在 Linux 下的安装路径是 /usr/local/jdk/。

安装后的 JDK 至少会包括如下内容:

C:\jdk (/usr/local/jdk)
|-- bin
|-- demo
|-- include
|-- jre
| |-- bin
| `-- lib
`-- lib

Linux 下使用“变量名=变量值”设置变量,并使用 export 命令将其导出为环境变量。

为了使每一次登录都自动设置好这些变量,你需要在 ~/.bash_profile 里或者 ~./bashrc 里进行设置,如

export JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.

注:环境变量的配置与开发工具无关;javadoc 命令,针对文档注释输出。

III Maven 环境配置

基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven为我们提供了一个标准化的Java项目结构,我们可以通过Maven快速创建一个标准的Java项目。

Java开发本地环境搭建:JDK、Maven环境配置
在这里插入图片描述

3.1 下载并复制文件到程序目录

 tar -xvf  apache-maven-3.8.5-bin.tar.gz # 解压
 sudo mv -f apache-maven-3.8.5 /usr/local#复制文件到程序目录
 #/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
 #/usr/src:系统级的源码目录。
#/usr/local/src:用户级的源码目录

3.2 配置环境变量

Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

编辑 /etc/profile 文件 sudo vim /etc/profile,在文件末尾添加如下代码:

(建议不修改这个文件 )全局配置,不管是哪个用户,登录时都会读取该文件。

推荐修改~/.bash_profile (添加用户级环境变量)

export MAVEN_HOME=/usr/local/apache-maven-3.8.5
export PATH=${PATH}:${MAVEN_HOME}/bin

保存文件,并运行如下命令使环境变量生效:

source /etc/profile

在控制台输入如下命令,如果能看到 Maven 相关版本信息,则说明 Maven 已经安装成功:

➜  ~ mvn -v
Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)
Maven home: /usr/local/apache-maven-3.8.5

3.3 在IDEA中配置maven

idea报tomcat相关的错误:Could not transfer artifact org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.60 from/to central ....

原因:因为创建的是maven项目,而在idea中没有配置maven,解决只需在IDEA中全局默认配置中去配置maven

解决步骤:偏好设置中搜索框搜Maven ->配置maven的安装路径、配置文件路径、本地仓库路径

Java开发本地环境搭建:JDK、Maven环境配置
在这里插入图片描述

Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。

运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

默认情况下,不管Linux还是 Windows,每个用户在自己的用户目录下都有一个路径名为 .m2/repository/ 的仓库目录。Java开发本地环境搭建:JDK、Maven环境配置

Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置,在 %M2_HOME%\conf 目录中的 Maven 的 settings.xml 文件中定义另一个路径。

Mac的配置例子:Java开发本地环境搭建:JDK、Maven环境配置

3.4 idea的版本和maven版本的关联

错误:

1 error
      role: org.apache.maven.model.validation.ModelValidator
  roleHint: ide

原因:idea不匹配maven版本

解决:idea2021可以使用maven3.8以及以前的版本 比如我是idea2021.2.2 ,需要将 maven 退到 apache-maven-3.8.4-bin.tar.gz

3.5 历史版本下载

  1. 官网下载Java开发本地环境搭建:JDK、Maven环境配置https://dlcdn.apache.org/maven/

  2. GitHub 源码下载 :https://github.com/apache/maven/tags

 tar -xvf  apache-maven-3.8.4-bin.tar.gz 
 sudo mv -f apache-maven-3.8.4 /usr/local/

修改配置文件.bash_profile,设置path

export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=${PATH}:${MAVEN_HOME}/bin

3.6 Maven 仓库的分类

Maven中的仓库是用来存放maven构建的项目和各种依赖的(Jar包)。

  1. 本地仓库: 位于自己计算机中的仓库, 用来存储从远程仓库或中央仓库下载的插件和 jar 包,
  2. 远程仓库: 需要联网才可以使用的仓库,阿里提供了一个免费的maven 远程仓库:http://maven.aliyun.com/nexus/content/groups/public/。
  3. 中央仓库: 在 maven 软件中内置一个远程仓库地址 ,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包含了世界上大部分流行的开源项目构件。

要浏览中央仓库的内容,maven 社区提供了一个 URL:http://search.maven.org/#browse。使用这个仓库,开发人员可以搜索所有可以获取的代码库。

3.7 配置自己的远程仓库

打开 settings.xml

https://www.runoob.com/maven/maven-repositories.html

<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
 <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>

</mirror>

3.8 invalid LOC header(bad signature)错误及解决

原因:项目初始化的时候,网络问题,下载不完整。解决方式:找到本地库,删除对应的jar,重新mvn install

IV IDEA (2021.2.2版本)

https://www.jetbrains.com/zh-cn/idea/download/other.html

  1. 在插件内添加第三方插件仓库地址:https://plugins.zhile.io`
  2. 搜索: IDE Eval Reset插件进行安装。
  3. 打开Eval Reset

点击 Help -> Eval Reset

Reload 用来刷新界面上的显示信息。

Reset 点击会询问是否重置试用信息并重启IDE。

勾选项:Auto reset before per restart 如果勾选了,则自勾选后每次重启/退出IDE时会自动重置试用。

see also