简全Java开发环境搭建指南

简介

        Java 是一种广泛使用的编程语言,适用于各种应用程序的开发。为了开始 Java 开发,你需要搭建一个合适的开发环境。Java开发工具,数据库多种多样,这里不一一列举,本人结合工作实际,简单介绍一下其中一中主流的Java开发环境搭建,简单但全面,特别适合和方便初学者,避免到处找安装包和安装配置教程。以下是一个详细的 Java 开发环境搭建指南的概述,涵盖了从安装 JDK 到配置 IDE 的所有步骤。这里也提供了一套安装包下载地址:https://download.csdn.net/download/ashyyyy/89795322?spm=1001.2014.3001.5503

Jdk安装:

        注意jdk安装时坚持下一步->下一步到底,建议不设置任何路径,全部默认,这里以jdk-8u77-windows-x64.zip为例

Java系统环境配置:


CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
JAVA_HOME C:\Program Files\Java\jdk1.8.0_77
Java系统环境配置Path:
C:\Program Files\Java\jdk1.8.0_77\bin

MySQL环境变量配置和运行:


1:下载个zip格式的Windows免安装版本这里提供的是mysql-8.2.0-winx64,解压到某个目录如D:\Program Files\mysql-8.2.0-winx64,然后配置系统环境变量MYSQL_HOME:D:\Program Files\mysql-8.2.0-winx64,在系统环境变量Path中追加%MYSQL_HOME%\bin;
2:初始化MySQL数据库并设置默认管理员账户root密码为空,cmd命令mysqld --initialize-insecure,命令执行后,在mysql安装目录会生成一个data目录
3:为Windows系统安装MySQL服务(默认服务名为mysql),cmd命令mysqld install servername(可省掉servername),若出现问题The service already exists,这是由于之前已经安装过mysql并且没有删除干净,则需要删除服务后重新安装
4:查看一下名为mysql的服务命令:sc query mysql,删除服务命令:sc delete mysql
5:安装服务成功后,可在任务管理器--服务面板进行查看安装的服务
6:启动MySQL服务命令:net start mysql,停止MySQL服务命令:net stop mysql
7:输入“mysql -uroot -p"按下回车,再输入密码,按下回车,有显示MySQL版本号则是连接MySQL服务成功,以下命令注意要带分号,执行成功都会有返回ok等成功响应
8:修改密码ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
9:刷新权限使修改生效FLUSH PRIVILEGES;
10:创建数据库命令create database dataname;其中dataname为数据库名
11:选择数据库命令use dataname;其中dataname为数据库名,选择好数据库后就可以使用sql命令在当前数据库下建表等操作
12:删除数据库命令drop database if exists dataname;其中dataname为数据库名
13:退出MySQL数据库命令exit;

Maven环境变量配置:


1:下载个zip格式的Windows免安装版本,这里提供的是apache-maven-3.9.6,已配置好镜像和jdk版本。配置系统环境变量MAVEN_HOME:D:\Program Files\apache-maven-3.9.6,在系统环境变量Path中追加%MAVEN_HOME%\bin;
2:windows终端输入mvn -v查看maven版本号检查一下是否安装成功
3:Windows终端输入mvn,初始化maven,Maven初始化后,会在C盘User文件夹-本地账号文件夹中自动创建.m2文件夹,包含一个空的名为Repository的文件夹,将Repository文件夹删除,保留.m2即可
4:配置本地仓库,在C盘之外的一个盘符中创建一个文件夹用来当作Maven的本地仓库,例如:D:\localStoreSpace\maven-repository
5:进入Maven安装目录,在config文件夹中找到一个settings.xml 配置文件后打开编辑
6:在localRepository的注释标签下面添加<localRepository>D:\localStoreSpace\maven-repository</localRepository>
7:配置中央仓库阿里云远程仓库镜像,将下面的一段代码直接复制粘贴到settings.xml文件的<mirrors></mirrors>中替换原有的mirror配置即可,注意mirror与mirrors标签一个字符差异
<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
8:MAVEN配置jdk版本,在settings.xml文件的<profiles></profiles>中加入以下即可
<profile>
  <id>jdk-1.8</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
  </activation>
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
  </properties>
</profile>
9:配置完成,在命令行输入mvn help:system测试,看到下载链接里面是ailiyun的链接表示配置成功
10:将D:\Program Files\apache-maven-3.9.6\conf\settings.xml文件复制粘贴到C:\User\用户名\.m2\中
11:Maven中央仓库网址https://mvnrepository.com/,里面可以浏览和搜索jar包和包对应的坐标(导入工程用到的dependency信息)

apache-tomcat安装和环境配置:


1:官网可下载zip压缩包直接解压,也可下载安装包安装,这里提供的是apache-tomcat-9.0.87,这里已经配置好编码和跨域,只需要按需修改端口号

2:找到解压或安装目录(不能有中文目录)中的bin\startup.bat文件,可直接运行启动服务,在出现Tomcat窗口中输入ctrl+c停止服务
3:配置系统环境变量CATALINA_HOME:D:\Program Files\Tomcat 9.0,在系统环境变量Path中追加%CATALINA_HOME%\bin;
4:windows终端输入service.bat install安装service为一个windows服务
5:windows终端输入startup.bat可启动服务,然后打开浏览器:网址输入:http://localhost:8080/若能访问说明apache-tomca安装配置启动完成
6:安装目录下conf\server.xml中找到含有‘shutdown’的行,可修改shutdown端口号(默认为-1是无效值),找到含有‘Connector port’的行,可修改连接服务端口号
7:设置好shutdown端口号后在windows终端输入shutdown.bat可停止服务
apache-tomcat编码设置
1:在 Tomcat的 server.xml文件配置连接服务端口的节点 加上:URIEncoding="UTF-8"属性
2:在Tomcat/bin目录下catalina.bat 文件的第二句加上这句:set JAVA_OPTS=-Dfile.encoding=UTF-8
3:在 Tomcat/conf/logging.properties 文件中, 添加语句: java.util.logging.ConsoleHandler.encoding = GBK
apache-tomcat跨域配置
在apache-tomcat-9.0.8\conf\web.xml的第600行附近左右(因为该部分是tomcat配置过滤器的位置)增加以下配置:
<filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    <init-param>
        <param-name>cors.allowed.origins</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowed.methods</param-name>
        <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowed.headers</param-name>
        <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
    </init-param>
    <init-param>
        <param-name>cors.exposed.headers</param-name>
        <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
    </init-param>
    <init-param>
        <param-name>cors.support.credentials</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>cors.preflight.maxage</param-name>
        <param-value>10</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CorsFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Idea编辑器编码设置:


1:在官网里下载 IntelliJ IDEA – 领先的 Java 和 Kotlin IDE找到IntelliJ IDEA社区版(IntelliJ IDEA Community)安装后,在设置对话框中,选择“Editor(编辑器)”->“File Encodings(文件编码)”
2:将“Global Encoding(全局编码)”、“Project Encoding(项目编码)”栏、“Default encoding for properties files(属性文件的默认编码)”,设置UTF-8编码格式
3:勾选“Transparent native-to-ascii conversion(自动转换成Ascii但显示原生的内容)”复选框
4:在“Build, Execution, Deployment(构建、执行、部署)”->“Compiler(编译器)”->“Java Compiler(Java编译器)”中,附加命令行参数设置为“-encoding UTF-8”

Idea编辑器Maven配置:


1:选择idea中的file-->settings,搜索maven,设置idea使用本地的maven安装目录D:\Program Files\apache-maven-3.9.6
2:修改配置文件路径D:\Program Files\apache-maven-3.9.6\conf\settings.xml,并勾上配置文件重写复选框
3:修改本地仓库路径D:\localStoreSpace\maven-repository(一般自动设置不用修改),不要勾上对应重写复选框
4:取消勾选使用.mvn/maven.config中的设置复选框
5:以上设置只对当前项目有效,若想对新建项目有效,选择idea中的file-->new project settings(新建项目设置面板)然后重复以上步骤
6:Maven环境配置完成后,打开Idea编辑器终端面板可以执行MAVEN命令,常见MAVEN命令有如下
mvn compile : 编译命令,可以重新编译源代码为字节码文件,如果有jar包没下载完成,这个命令会先把需要的jar包下载完成后再编译
mvn clean : 清理命令,会把项目结构中的target文件夹中的字节码文件删除,可以组合 : mvn clean compile
mvn test :测试命令会帮我们执行测试代码
mvn package : 打包命令,可以把项目打包成一个jar,该命令会先执行clean,test,compile,如果不想执行测试命令可以跳过:mvn package -Dmaven.test.skip=true
mvn install : 项目打包后安装到本地仓库
mvn source:jar : 生成项目的源码包
mvn clean site : 生成文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1549890.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第443题压缩字符串

题目&#xff1a; 题解&#xff1a; func compress(chars []byte) int {write, left : 0, 0for read, ch : range chars {if read len(chars)-1 || ch ! chars[read1] {chars[write] chwritenum : read - left 1if num > 1 {anchor : writefor ; num > 0; num / 10 {…

【题解】2022ICPC杭州-K

翻译 原题链接   简述一下就是每次询问重新定义一个字母排序表&#xff0c;问在这个顺序下n个字符串的序列的逆序数是多少。 字典树计算逆序数 先考虑初始状况下&#xff0c;即 a < b < . . . < z a<b<...<z a<b<...<z的情况下&#xff0c;逆序…

Arch - 架构安全性_验证(Verification)

文章目录 OverView导图1. 引言&#xff1a;数据验证的重要性概述2. 数据验证的基本概念3. 数据验证的层次前端验证后端验证 4. 数据验证的标准做法5. 自定义校验注解6. 校验结果的处理7. 性能考虑与副作用8. 小结 OverView 即使只限定在“软件架构设计”这个语境下&#xff0c…

金融科技革命:API接口开放平台,畅通金融服务之路

金融科技是近年来蓬勃发展的领域&#xff0c;它利用先进的技术手段来改善和创新金融服务。在金融科技的革命中&#xff0c;API接口开放平台扮演着重要的角色&#xff0c;它通过提供统一的接口服务&#xff0c;让金融机构和其他行业能够更方便地进行数据交换和合作。本文将以挖数…

聚星文社最新风格图库角色

聚星文社最新风格图库角色涵盖了各种不同的风格和类型。以下是一些可能的角色风格&#xff1a; Docs聚星文社https://iimenvrieak.feishu.cn/docx/ZhRNdEWT6oGdCwxdhOPcdds7nof 现代都市风格角色&#xff1a;这种角色通常穿着时尚的衣服&#xff0c;有时尚的发型和化妆。他们可…

STM32+PWM+DMA驱动WS2812 —— 2024年9月24日

一、项目简介 采用STM32f103C8t6单片机&#xff0c;使用HAL库编写。项目中针对初学者驱动WS2812时会遇到的一些问题&#xff0c;给出了解决方案。 二、ws2812驱动原理 WS2812采用单线归零码的通讯方式&#xff0c;即利用高低电平的持续时间来确定0和1。这种通信方式优点是只需…

IO端口与IO接口

I/O端口和I/O接口是计算机系统中用于连接外部设备的关键组成部分&#xff0c;两者密切相关&#xff0c;但又有明显的区别&#xff1a; I/O端口 (I/O Port): 定义: I/O端口是内存地址空间中的一组特殊地址&#xff0c;用于与外部设备进行数据交换。CPU通过向这些特定的地址写入…

muduo网络库介绍

文章目录 MuduoServer常见接口TcpServer类EventLoop类TcpConnection类 服务器搭建Client常见接口TcpClient类 客户端搭建 Muduo Muduo是陈硕大佬开发的,一个基于非阻塞IO和事件驱动的C高并发网络编程库 这是一个基于主从Reactor模型的网络编程库,线程模型是one loop per thre…

加法器以及标志位

加法器的结构&#xff1a; OF&#xff08;溢出标志位&#xff09;&#xff0c;SF&#xff08;符号标志位&#xff09;&#xff0c;ZF&#xff08;0标志位&#xff09;&#xff0c;ZF&#xff08;进位/借位标志位&#xff09; 有符号数看标志位&#xff1a;OF&#xff0c;SF 无符…

Stable Diffusion绘画 | 插件-Deforum:动态视频生成

Deforum 与 AnimateDiff 不太一样&#xff0c; AnimateDiff 是生成丝滑变化视频的&#xff0c;而 Deforum 的丝滑程度远远没有 AnimateDiff 好。 它是根据对比前面一帧的画面&#xff0c;然后不断生成新的相似图片&#xff0c;来组合成一个完整的视频。 Deforum 的优点在于可…

AI Agent应用出路到底在哪?

1 Agent/Function Call 的定义 Overview of a LLM-powered autonomous agent system&#xff1a; Agent学会调用外部应用程序接口&#xff0c;以获取模型权重中缺失的额外信息&#xff08;预训练后通常难以更改&#xff09;&#xff0c;包括当前信息、代码执行能力、专有信息源…

【Godot4.3】简单物理模拟之圆粒子碰撞检测

概述 最近开始研究游戏物理的内容&#xff0c;研究运动、速度、加速度之类的内容。也开始模仿一些简单的粒子模拟。这些都是一些基础、简单且古老的算法&#xff0c;但是对于理解游戏内的物理模拟很有帮助。甚至你可以在js、Python或者其他程序语言中实现它们。 图形的碰撞检…

详解JavaScript中属性的特性getOwnPropertyDescriptor()等

属性的特性 可以认为一个属性包含一个名字和4个特性&#xff0c;它的值&#xff0c;可写性&#xff0c;可枚举性&#xff0c;可配置性。 因此&#xff0c;存储器属性的4个特性&#xff0c;读取&#xff0c;写入&#xff0c;可枚举&#xff0c;可配置。 定义了一个“属性描述…

Unity实战案例全解析:RTS游戏的框选和阵型功能(2) 生成选择框

前篇&#xff1a;Unity实战案例全解析&#xff1a;RTS游戏的框选和阵型功能&#xff08;1&#xff09; 基础要素-CSDN博客 本案例来源于unity唐老狮&#xff0c;有兴趣的小伙伴可以去泰克在线观看该课程 【唐老狮】Unity实现 即时战略游戏 阵型功能 - 泰课在线 -- 志存高远&…

C++入门基础知识90(实例)——实例15【求两数的最大公约数】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于求两数的最大公约数的相关内容&#xff…

Linux网络:网络编程套接字

socket 套接字 socket常见API 创建套接字&#xff1a;&#xff08;TCP/UDP&#xff0c;客户端服务器&#xff09; int socket(int domain, int type, int protocol);绑定端口号&#xff1a;&#xff08;TCP/UDP&#xff0c;服务器&#xff09; int listen(int sockfd, int …

完全二叉树的节点个数 C++ 简单问题

完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层&#xff0c;则该层包含 1~ 2h 个节点。 示例 1&#xff…

C语言 | Leetcode C语言题解之第445题两数相加II

题目&#xff1a; 题解&#xff1a; struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){int stack1[100];int stack2[100];int top1 0;int top2 0;int carry 0;int sum 0;struct ListNode* temp NULL;struct ListNode* head NULL;while (l1) {…

Go语言中的深拷贝:概念、实现与局限

前不久&#xff0c;在“Gopher部落”知识星球[1]上回答了一个Gopher关于深拷贝(Deep Copy)的问题&#xff0c;让我感觉是时候探讨一下深拷贝技术了。 在日常开发工作中&#xff0c;深拷贝的使用频率相对较低&#xff0c;可能有80%的时间不需要使用深拷贝&#xff0c;只有在特定…

行为设计模式 -模板方法模式- JAVA

模板方法模式 一 .简介二. 案例2.1 抽象类&#xff08;Abstract Class&#xff09;2.2 具体子类&#xff08;Concrete Class&#xff09;2.3 测试 三. 结论3.1 优缺点3.2 适用场景3.3 要点 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接…