请教为什么要设置环境变量?

SilentHunter460 2020-10-18 12:18:06
请问环境变量是什么?为什么各种办公软件、图像处理软件、游戏都不需要搞什么环境变量?为什么IDE要搞环境变量,它特殊在哪里?
...全文
6393 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qkniit 2020-10-29
  • 打赏
  • 举报
回复
好多软件在安装的时候,已经帮你把环境变量设置好了,不信你去看下环境变量中的path
weixin_45227396 2020-10-28
  • 打赏
  • 举报
回复
简单来说 不设环境变量,你的软件就没法用
如果没有环境变量=这种共同遵守的条约,那全世界开发的软件都是没办法到别人的电脑上运行的,因为大家运行环境都不同。
fei得更高 2020-10-21
  • 打赏
  • 举报
回复
主要是java是跨平台的
DXF2020 2020-10-20
  • 打赏
  • 举报
回复
idea 不仅仅可以编写java语言,那么比如你的项目是java,那么idea就需要知道你的jdk ,jvm路径在哪,这样他才能找到,不然idea运行你的Java项目
冰思雨 2020-10-19
  • 打赏
  • 举报
回复
楼主说的应该是操纵系统的环境变量吧。 这个变量是面向所有安装到操作系统上面的程序的,一般是在程序加载时注入到进程当中的。 环境变量有很多用途: 1. PATH变量,提供一个(或多个)默认的,程序执行的路径。 比如,你要执行java程序,但是,java.exe不在当前路径下,那么,系统会从默认的PATH提供的路径中寻找java.exe然后启动它。 2. JAVA_HOME变量,提供默认的JDE(或者JRE)的bin目录。 如果IDE是Java开发的并且没有集成JRE在安装包的话,就需要找到当前系统中已经安装的JRE(或JDK)的位置,来启动自己。 Tomcat 就是如此,需要一个外部的JRE(以前版本需要JDK才行,因为要编译JSP页面)来启动自己。 还有一些其他的环境变量,每个环境变量都有各自的作用和用途,没有显式的告诉给用户,所以,用户无法体会到用途以为是没用的。 为啥其他程序不需要配置环境变量呢?我总结了几点原因,有可能不全面。 1. 程序由C/C++开发,与操作系统有很高的耦合性,可以直接调用底层的系统接口实现与环境变量相同或类似的功能。 2. 用户在使用程序之前,运行了安装和引导程序,安装程序和引导程序会自动配置环境变量,用户感觉不到。 3. 有安装包的程序,一般会自动安装依赖的第三方程序,不用用户自己下载和安装并配置环境变量。比如说某些游戏用到了DirectX,在安装过程中就会自行判断当前环境是否已经安装,如果没有就会自行安装。
KeepSayingNo 2020-10-19
  • 打赏
  • 举报
回复
有些软件在安装的时候自动把环境变量设置好了,你可以去看看path环境变量是不是还有别的软件的信息
lzy66666 2020-10-19
  • 打赏
  • 举报
回复
为了可以在任何地方都可以启动java, 不然你每次只能进入安装目录的bin下面启动
qq_30551645 2020-10-19
  • 打赏
  • 举报
回复
请问环境变量是什么? (1) 环境变量是一个全局配置,环境变量设置界面可以理解成为一个配置文件编写界面,单一的环境变量可以理解为一个配置文件的单一配置项 (2) 操作系统中环境变量包括windows、linux等操作系统本身软件或者服务应用的配置信息,也可以包括其他第三方应用的配置信息 为什么各种办公软件、图像处理软件、游戏都不需要搞什么环境变量? (1) 各种办公软件、图像处理软件、游戏也是存在配置环境变量的过程的;在软件安装的过程中,由软件安装程序配置环境变量而不需要手动编写环境变量 (2) 可以通过操作系统的环境变量信息可以观察到各种办公软件、图像处理软件、游戏软件的相关信息 为什么IDE要搞环境变量,它特殊在哪里? (1) 存在IDE不需要手动设置环境变量的情况,针对java的IDE有些是本身默认就含jdk,不需要单独下载jdk并配置环境变量 (2) 存在IDE需要手动配置环境变量,比如jdk存在多个版本,编译历史版本项目时需要指定旧版本jdk进行编译 总之,环境变量配置内容大部分是文件或者文件夹路径信息;有时候也会配置其他信息,比如同一个服务器启动多个tomcat,同时从环境变量中提取jvm的设置数值作为启动参数
ha_lydms 2020-10-19
  • 打赏
  • 举报
回复
因为,别的你运行的都是在它软件环境里面的,而JDK只是一个工具而已,要方便别人去调用。就相对于一个计算器,要不你共享出去,要不你就每人配一个而已。环境变量就相当于共享了。
qq_39936465 2020-10-19
  • 打赏
  • 举报
回复
引用 楼主 qq_16774199 的回复:
请问环境变量是什么?为什么各种办公软件、图像处理软件、游戏都不需要搞什么环境变量?为什么IDE要搞环境变量,它特殊在哪里?
开发环境肯定比应用软件的环境要复制的多,开发软件不可能始终都在同一个环境下,不同项目所需要用的环境肯定会有区别,比如开发游戏和开发网站,设定的环境肯定不同,而应用软件环境则是单一的。
timi先生 2020-10-18
  • 打赏
  • 举报
回复
java代码的运行是在虚拟机上运行,虚拟机要运行就需要各种环境。不同的系统需要的环境不同,所以要配置这些环境变量。
sun0322 2020-10-18
  • 打赏
  • 举报
回复
简单说,设置之后,你的程序可以直接执行。
qybao 2020-10-18
  • 打赏
  • 举报
回复
环境变量,简单地说就是让程序可以自动调整适应用户的配置而使用的用户必须共同遵守约定的变量。 比如A用户想使用程序,但A用户的启动程序需要依赖的类库放在A路径,B用户也想使用程序,但B用户的启动程序需要依赖的类库放在B路径,这样每个用户的机器环境千差万别万别,怎么能把这些千差万别共通化从而让程序可以无差异的使用呢?这就引入了环境变量。比如A用户设定classpath环境变量为路径A,B用户设定classpath环境变量为路径B,这样程序只要读取这个classpath环境变量,就能正确找到程序启动所依赖的类库,这样不管用户的机器环境怎么千差万别,只要用户都遵守约定设置classpath环境变量,那程序就能无差别的运行。这就是环境变量存在的由来和特殊的地方。 办公软件,图像处理软件,游戏等因为不是开发软件,不会使用用户额外第三方安装的类库,所以不需要考虑用户环境的差异;而像java这样的开发软件,用户额外安装的第三方软件路径可能不同,比如A用户把json解析包放在A路径,B用户放在B路径,那只要用户都在classpatn变量追加json解析包的路径,json解析包就能正常使用。所以开发软件和一般的应用软件还是稍有点区别。一般的应用软件不需要考虑用户环境的差别,所有的东西都统一集中在软件的安装路径,所以没必要使用环境变量。
tianfang 2020-10-18
  • 打赏
  • 举报
回复
环境变量是系统参数,windows系统可以在cmd中通过set命令列出或设置,最主要的是path,为了让软件可以找到java程序 java是个公共程序,eclipse ,命令行等软件都需要,这些软件不知道java程序在哪里,所以在path中加入了java的路径,就可以直接使用java java还可以安装多个版本,你在环境变量里指定的版本是缺省使用的版本 eclipse需要找到java,依赖path 环境变量。 其他软件也有依赖,依赖系统库,所以的系统都有缺省的path,windows/system32是windows系统一直有的。其他软件在安装过程中,把依赖的库(主要是dll)安装到系统库目录,所以可以直接运行

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧