Sublime Text 3配置 Java 开发环境

news2024/10/2 20:30:38

《开发工具系列》 《开发语言-Java》

在这里插入图片描述

Sublime Text 3配置 Java 开发环境

  • 一、引言
  • 二、主要内容
    • 1. 初识 Sublime Text 3
    • 2. 初识 Java
    • 3. 接入 Java
      • 3.1 JDK 下载
      • 3.2 安装和使用 java
      • 3.3 环境变量配置
    • 4. 配置 Java 开发环境
    • 5. 编写 Java 代码
    • 6. 编译和运行 Java 代码
    • 7. 乱码问题
  • 三、总结

一、引言

Java 是一种跨平台、面向对象、功能强大且安全可靠的编程语言。它有很多常用的开发工具,比如 EclipseIDEA 等等,相信大家多多少少都有所涉猎;而本篇 Huazie 将要介绍一个比较轻量级的开发工具 Sublime Text 3,并用它来配置 Java 开发环境。

二、主要内容

1. 初识 Sublime Text 3

Sublime Text 3 是一款流行的文本编辑器,它的特点是体积小巧、启动速度快、界面简洁美观。它具有强大的代码编辑功能,支持多种编程语言。此外,Sublime Text 3 还具有丰富的插件生态系统,用户可以根据自己的需求安装各种插件来扩展其功能。

Sublime Text 3 的一些主要特点,如下所示:

  • 强大的代码编辑功能Sublime Text 3 提供了许多实用的代码编辑功能,如自动完成、代码高亮、代码片段等,大大提高了编程效率。

  • 支持多种编程语言Sublime Text 3 支持多种编程语言,包括 HTML、CSS、JavaScript、Python、Ruby、PHP 等,用户可以根据需要选择不同的语言模式。

  • 插件生态系统Sublime Text 3 拥有丰富的插件生态系统,用户可以通过安装插件来扩展其功能,如 Emmet(用于编写 HTMLCSS)、Package Control(用于安装和管理插件)等。

  • 自定义快捷键Sublime Text 3 允许用户自定义快捷键,以便更快速地执行常用操作。

  • 多窗口编辑Sublime Text 3 支持多窗口编辑,用户可以同时打开多个文件进行编辑,方便进行代码对比和复制粘贴操作。

  • 跨平台支持Sublime Text 3 支持 WindowsMacLinux 操作系统,用户可以在不同的平台上使用相同的设置和插件。

  • 版本控制集成Sublime Text 3 可以与版本控制系统(如 Git)集成,方便用户进行代码版本管理。

2. 初识 Java

Java 是一种面向对象的编程语言,它诞生于 1995 年,由Sun Microsystems 公司(现已被甲骨文公司收购)开发,最初是用于智能家电平台上运行的 OAK 语言,后来发展成为一种功能强大的编程语言。

Java 语言的设计初衷是 “一次编写,到处运行”,即源代码只需编写一次,就可以在任何支持 Java 的平台上运行。

Java 语言拥有丰富的API库和工具,广泛应用于 Web 开发、移动应用开发、游戏开发、大数据和云计算等领域。

3. 接入 Java

在开始接入 Java 之前,还有个概念需要明确一下,那就是 JDK(全称是 Java Development Kit),即 Java 开发工具包

它是用于开发 Java 程序的一套工具和库,其中包含了如下的内容:

  • Java编译器(javac):通过 javac 命令,将 Java 源代码(.java 文件)编译成字节码文件(.class 文件)。
  • Java虚拟机(JVM):通过 java 命令,启动 JVM,并加载执行 Java 字节码文件。从 JDK1.8 开始,可以直接使用 java 主类名.java 运行 Java 文件【其中包含了编译源代码、执行字节码等步骤】。
  • Java基础类库(Java API):包括 java.util、java.io、java.net 等常用类库,用于支持各种常见的编程任务。
  • 其他工具和实用程序:如 Java调试器(jdb)Java反编译器(javap)Java文档生成器(javadoc) 等。

3.1 JDK 下载

JDK 官网下载,目前最新版为 JDK21

大家可以按照自己系统,选择相应的版本进行下载:

在这里插入图片描述

Windows 为例:

  • x64 Compressed Archive : JDK的免安装版本
  • x64 Installer :JDK的离线安装版本
  • x64 MSI Installer :JDK的离线安装版本

3.2 安装和使用 java

Windows 为例:

  • 如果是免安装版本,只需要解压之后,将对应的文件复制到指定的文件夹,比如 C:\java

  • 如果是安装版本,那就下载之后,双击安装,同样选择一个指定的文件夹进行安装即可。

HuazieWindows 系统上就安装了多个 JDK 版本,大家按照自身需要,自行选择安装和使用。

在这里插入图片描述

3.3 环境变量配置

现在,Huaziewindows 11 系统为例,介绍下配置环境变量,如下:

右击 Window 图标,打开下图并选择 系统

在这里插入图片描述

点击 高级系统设置,打开系统属性页面,点击 环境变量

在这里插入图片描述

新增 JAVA_HOME 的环境变量【如果要更换当前的 JDK 版本,修改这里即可】:

在这里插入图片描述

新增 CLASSPATH 的环境变量【用于告诉 JVM 在哪些目录下查找类文件】:

在这里插入图片描述

  • 当前目录(.):表示在当前目录下查找类文件。
  • Java类库路径:包括Java运行环境提供的类库(如rt.jar、tools.jar等)和第三方类库。这些类库文件通常以.jar或.zip格式存在,并需要指定它们所在的目录路径。
  • 自定义类文件路径:如果开发者编写了自己的 Java 类文件,也可以将这些类文件所在的目录路径也加入到 CLASSPATH 中。

找到 Path 环境变量,配置上面你的 Java 安装目录的 lib 目录进去:

在这里插入图片描述

如果上面是 JDK 离线安装版,Path 里面可能存在如下环境变量,则需要手动删除,以免影响上面的环境变量配置。

在这里插入图片描述

然后 Win + R,打开如下窗口,输入 cmd,点击确认打开命令行窗口。

在这里插入图片描述

在命令行窗口内,输入 java -version 查看,如下图所示即为安装成功:

在这里插入图片描述

4. 配置 Java 开发环境

初次打开 Sublime Text 3,我们可以看到如下的界面:

在这里插入图片描述

在菜单栏选择 Tools => Build System => New Build System,打开如下页面

在这里插入图片描述

{
	"cmd": ["javac",  "$file_name"], 
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 
    "working_dir": "${file_path}",
    "selector": "source.java",
    "variants": [
	    {
	        "name": "Run",
	        "shell": true,
	        "windows": {
	            "shell_cmd" : "start cmd /c \"java ${file_base_name} & echo. & pause\""
	        }
	    },
	    {
	        "name": "Build and Run",
	        "shell": true,
	        "windows": {
	            "shell_cmd": "javac \"${file_name}\" && start cmd /c \"java ${file_base_name} & echo. & pause\""
	        }
	    }
    ]
}

将上述内容保存在,前面打开的 New Build System 中,并命名为 Java8.sublime-build【这里命名可以按自己的 JDK 版本来】。

5. 编写 Java 代码

现在让我们开始编写第一个 Java 代码吧!

public class HelloWorld {
    public static void main(String[] args) {
    	String name = "Huazie";
       	System.out.println("Hello World!");
       	System.out.println("Author:" + name);
    }
}

针对上述 java 代码,我们会新建一个 HelloWorld.java 文件进行保存。

注意: java 源码文件名的后缀为 java,且文件名必须和类名保持一致。

6. 编译和运行 Java 代码

上述 HelloWorld.java 我们也可以打开命令行窗口进行编译运行,如下图:

在这里插入图片描述

当然,对于初学者,使用这种方式理解 Java 的编译和运行过程,还是可以的。

不过既然我们已经使用了 Sublime Text 3 的开发环境了,那就在菜单栏 Tools => Build System ,然后 选择 Java8,就是前面的 Java8.sublime-build

然后直接按住 Ctrl + Shift + B,会弹出如下界面:

在这里插入图片描述
选择 Java8,我们可以直接编译当前 HelloWorld.java 源码文件,并在当前目录生成对应的字节码文件,如下图:

在这里插入图片描述

接着,还是按住 Ctrl + Shift + B,选择 Java8 - Run,就可以在 CMD 窗口中运行我们上面编译好的 Java 字节码文件,并输出相关内容。

如下图所示:

在这里插入图片描述

当前上面还是需要两次操作,我们把两次整合一下,还是按住 Ctrl + Shift + B,选择 Java8 - Build And Run,这一次就可以直接编译和运行一起【这一步为了看到效果,先将之前生成的字节码文件删掉,然后再操作即可】。

通过上面操作之后,我们就可以直接使用 Ctrl + B【这里复用上一次 Ctrl + Shift + B 选择的 Java8 - Build And Run】,这样就可以直接编译和运行我们的 Java 代码。

注意: 这里的编译执行不适合有包的情况,涉及到比较复杂的逻辑,还是采用 EclipseIDEA 这些专门的开发工具较为适合。

7. 乱码问题

经过上面的配置,相信大家都能编译和运行第一个 Java 代码了,但是有些小伙伴慢慢使用发现,如果输出的内容包含中文,打印出来的信息是乱码的。有关这个问题,请查看笔者的另一篇博文 《Sublime Text 3 解决中文乱码问题》

三、总结

本篇 Huazie 介绍了 Sublime Text 3 配置 Java 开发环境的相关内容,感兴趣的朋友赶紧配置起来,有任何问题可以随时评论区沟通。

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

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

相关文章

PuLP库-多数线性规划问题

投标价格重预算 背景 甲方需要采购一批物资,采购数量为甲方给定的预计采购数量,并限制了采购总价。例甲方采购预算清单如下,采购总预算为不超过 3175 元 采购内容采购数量投标单价投标报价合计电脑10空调20洗衣机8桌子7打印机35合计 注&a…

Shell脚本④循环语句for、while、until

目录 一.for 1. 九九乘法表 2.求1到10奇数和 3.累计加到100 (1)方法一 (2)方法2 二.while 1.猜价格小游戏 2.累加到100的方法三 三.until循环 1.累加到100方法四 四.嵌套循环 五.循环语句中break、exit和continue 1…

网络防御——NET实验

一、实验拓扑 二、实验要求 1、生产区在工作时间(9:00---18:00)内可以访问服务区,仅可以访问http服务器; 2、办公区全天可以访问服务器区,其中,10.0.2.20可以访问FTP服务器和HTTP服…

Google浏览器Provisional headers are shown. Disable cache to see full headers.

Google浏览器Provisional headers are shown. Disable cache to see full headers. 问题 解决方法 勾选禁用缓存,刷新 成功

制造领域 物料清单(BOM)与零件明细表的区别

有许多人分不清物料清单(BOM)与零件明细表的区别,其实它们在企业的生产管理软件中起着不同的作用,各有各的特色,但是却有不尽相同。接下来我们就来区分一下吧 物料清单(BOM),是详细记录一个项目所用到的所有下阶材料及相关属性,亦即母件与所有子件的从属…

代码随想录刷题笔记 DAY15 | 翻转二叉树 No.226 | 对称二叉树 No.101

Day 15 01. 翻转二叉树(No. 226) 题目链接 代码随想录题解 1.1 题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9…

代码随想录 Leetcode429. N 叉树的层序遍历

题目&#xff1a; 代码(首刷自解 2024年1月24日&#xff09;&#xff1a; /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node() {}Node(int _val) {val _val;}Node(int _val, vector<Node*> _children) {val _val;childre…

在云服务器上通过FileZilla配置FTP(通过FileZilla配置FTP升级版)

有兴趣的读者可以看看博主的博客&#xff0c;有很全面的教程 阿里云之申请云服务器–配置jdk,tomcat,安全策略–能够在他人电脑上显示本电脑的Tomcat 通过FileZilla配置FTP 修改我们的安全组&#xff0c;将21&#xff0c;和50000-50010端口添加进去 加入实例即可&#xff0c;剩…

怎样使用CSS技术美化网页?(知识点2)

知识引入 引入CSS样式表 CSS提供了行内式、内嵌式、外链式、导入式四种引入方式&#xff0c;具体介绍如下。 行内式 行内式也被称为内联样式&#xff0c;是通过标签的style属性来设置标签的样式&#xff0c;其基本语法格式如下。 <标签名 style“属性&#xff1a;属性值…

Denoising diffusion implicit models 阅读笔记2

Denoising diffusion probabilistic models (DDPMs)从马尔科夫链中采样生成样本&#xff0c;需要迭代多次&#xff0c;速度较慢。Denoising diffusion implicit models (DDIMs)的提出是为了在复用DDPM训练的网络的前提下&#xff0c;加速采样过程。 加速采样的基本思路是&#…

Shell脚本⑤函数与数组

一.函数 封装的可重复利用的具有特定功能的代码 格式&#xff1a; 方法一&#xff1a; [function] 函数名 (){ 命令序列 [return x] #使用return或者exit可以显式的结束函数 } 方法二&#xff1a; 函数名(){ 命令序列 } 1.函数的调用方法 &#xff08;1&…

【Flink】记录Flink 任务单独设置配置文件而不使用集群默认配置的一次实践

前言 我们的大数据环境是 CDP 环境。该环境已经默认添加了Flink on Yarn 的客户端配置。 我们的 Flink 任务类型是 Flink on Yarn 的任务。 默认的配置文件是在 /etc/flink/conf 目录下。如今我们的需求是个别任务提供的配置仅用于配置执行参数&#xff0c;例如影响作业的配置…

python 基础知识点(蓝桥杯python科目个人复习计划24)

今日复习内容&#xff1a;基础算法中的模拟 1.模拟题 &#xff08;1&#xff09;定义&#xff1a;直接按照题目含义模拟即可&#xff0c;一般不涉及算法。 &#xff08;2&#xff09;注意&#xff1a;读懂题&#xff1a;理清楚题目流程&#xff1b; 代码和步骤一一对应&…

爷爷问:IPv6为什么还没有完全替换掉IPv4 ?区别是什么?

首先IPV6之所以提出&#xff0c;很大一部分原因是IPV4的地址不够用了&#xff0c;再出现新设备就没得地址分配&#xff0c;所以才会提出新的IP版本以满足分配需求。在对IPV6进行一个基本了解后来看看两者的区别。 IPV6基本了解 1.层次化的地址结构 地址长度为128bit&#xf…

鸿蒙ArkUI开发-实现增删Tab页签

场景介绍 部分应用在使用过程中需要自定义添加或删除标签的场景&#xff0c;比如在浏览器中的顶部标签栏中需要新打开或关闭网页页签&#xff0c;而这种场景与Tabs组件效果类似&#xff0c;但Tabs组件不提供增加或删除页签的功能&#xff0c;不能自由的增加删除页签&#xff0…

Java编程的利器:Pair和Triple无缝解决多值返回问题,助力编写高效代码

在实际编码中&#xff0c;经常会遇到一个方法需要返回多个值的情况&#xff0c;你编写一个方法&#xff0c;需要同时返回某个操作的结果和一些相关的附加信息。使用传统的方式&#xff0c;你可能需要创建一个包含这些信息的自定义类或者使用集合&#xff08;如 Map&#xff09;…

系统引导程序 Boot Loader——学习笔记

基于嵌入式Linux 的完整系统软件由三个部分组成&#xff1a;系统引导程序、Linux 操作系统内核和文件系统。 系统引导程序 Boot Loader 是系统加电后运行的第一段软件代码&#xff0c;它的作用是加载操作系统或者其他程序到内存中&#xff0c;并将控制权交给它们。 Boot Load…

代码随想录算法训练营第16天 | 104.二叉树的最大深度, 111.二叉树的最小深度 ,222.完全二叉树的节点个数

二叉树理论基础&#xff1a; https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE 104.二叉树的最大深度 题目链接&#xff1a;https://leetcode.cn/problems/maximum-depth-…

Mediasoup Demo-v3笔记(三)——Mediasoup库介绍

Mediasoup基本概念 Worker &#xff1a; 每一个worker就是一个进程&#xff08;节点&#xff09;&#xff0c;进程和进程之间可以通信Router&#xff1a;每一个Router就是一个房间的概念Producer&#xff1a;每一个发出声音和视频的流都是一个ProducerConsumer&#xff1a;每一…

Confluence 的文章导入到 YouTrack KB 中

YouTrack 是有一个 KB 的&#xff0c;我们可以吧 Confluence 的文章全部导入到 YouTrack 的 KB 中。 首先&#xff0c;你需要具有管理员权限&#xff0c;然后选择导入。 然后可以在打开的界面中新增一个导入。 在新增导入中输入 Confluence 在随后的界面中输入你 Confluence …