java开发环境:还在配classpath?你out啦!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

先说结论:只需要配置JAVA_HOME和path路径即可,无需配置classpath

参考Oracle官网的说明:

The class path tells JDK tools and applications where to find third-party and user-defined classes -- that is, classes that are not Java extensions or part of the Java platform.

不靠谱翻译:jdk和应用通过classpath寻找第三方或用户自定义的类所在的路径,也就是说,那些不是java扩展或不属于java平台的类才需要被加入到classpath中。

The class path is the path that the Java runtime environment searches for classes and other resource files. The class search path (more commonly known by the shorter name, "class path") can be set using either the -classpath option when calling a JDK tool (the preferred method) or by setting the CLASSPATH environment variable. The -classpath option is preferred because you can set it individually for each application without affecting other applications and without other applications modifying its value.

不靠谱翻译:classpath的路径就是java运行环境寻找类和其他资源的路径,classpath可以通过如下两种方式设置 C:> sdkTool -classpath classpath1;classpath2...C:> set CLASSPATH=classpath1;classpath2... 但我们更推荐使用第一种设置方式,因为-classpath的设置方式允许你为每一个应用设置一个独立的classpath,不会影响其他应用,也不必担心被其他应用修改了classpath的值。

官网上说的非常明白:我们的rt.jar和tools.jar都是java平台的jar包,根本不需要添加到classpath中。即使有些需要添加到classpath中的类,也不推荐使用设置classpath的方式。


但为什么有些同学不配置classpath编译会报错呢?

其实当你运行:

    javac XXX.java 

实际上是在运行 :

    java -Classpath=%JAVA_HOME%\lib\tools.jar  xx.xxx.Main  XXX.java 

javac就是对上述命令的封装,报错是因为没有配置JAVA_HOME导致java命令找不到tools.jar引起的 !!!

所以一定要配置JAVA_HOME,它不仅作为变量名在path路径中用到,很多其他的应用如IDE、tomcat默认会从JAVA_HOME中读取jdk路径。 每个javaer都配过的环境变量,你现在是否弄明白了呢?

转载于:https://my.oschina.net/suyewanwan/blog/866189

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

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

相关文章

qpython3可以调用哪些库_Python3 如何使用asyncio库在调用第三方模块(存在IO等待)的情况下实现协程?...

问题描述demo中有一个 task_check 的模块,底层是用urllib实现,请问如果要实现使用 asyncio 库实现协程操作,需要修改这个模块的底层代码吗?如何修改? 往大佬指点问题出现的环境背景及自己尝试过哪些方法平时都是使用 gevent 库和 monkey.patch_all() 实现协程,但发现 gevent …

.Net Core 商城微服务项目系列(二):使用Ocelot + Consul构建具备服务注册和发现功能的网关...

1.服务注册 在上一篇的鉴权和登录服务中分别通过NuGet引用Consul这个包,同时新增AppBuilderExtensions类: public static class AppBuilderExtensions{public static IApplicationBuilder RegisterConsul(this IApplicationBuilder app,IApplicationLife…

java打印数组_Java中打印数组内容的方式有哪些?

下面是几种常见的打印方式。方法一:使用循环打印。public class Demo {public static void main(String[] args) {String[] infos new String[] {"Java", "Android", "C/C", "Kotlin"};StringBuffer strBuffer new Strin…

$(function() {})

$(function() {});是$(document).ready(function(){ })的简写, 最早接触的时候也说$(document).ready(function(){ })这个函数是用来取代页面中的window.onload; 用来在DOM加载完成之后执行一系列预先定义好的函数。

恢复工具

EasyRecovery http://www.upantool.com/hfxf/huifu/2011/EasyRecovery_V6.22.html转载于:https://www.cnblogs.com/cb168/p/5359133.html

四参数坐标转换c++_GPSRTK坐标转换及四参数、七参数适用条件

工程测量仪器已由经纬仪、全站仪过渡到GNSS(全球卫星导航系统),特别是公路行业,GPS-RTK作为GNSS的一种应用目前已十分普及。现阶段GPS-RTK以WGS-84 坐标系统为主流,所发布的星历参数也是基于此坐标系统,但随着北斗导航系统的逐步完…

教主的魔法

传送门 这道题序列很长,但是操作数很少,然后也没想到什么好的数据结构来维护,那就分块吧。 感觉维护的过程很好想,修改的时候对于整个块都在内的直接打标记,两个零散的区间暴力重构,重新排序。查询的时候&a…

obs自定义编码设置_通过7个步骤设置OBS进行实时编码

obs自定义编码设置by Wesley McCann韦斯利麦肯(Wesley McCann) 通过7个步骤设置OBS进行实时编码 (Setting up OBS for Live Coding in 7 Steps) Twitch TV is a popular live-streaming service. You traditionally used Twitch to stream yourself playing video games, but …

java hadoop api_Hadoop 系列HDFS的Java API( Java API介绍)

HDFS的Java APIJava API介绍将详细介绍HDFS Java API,一下节再演示更多应用。Java API 官网如上图所示,Java API页面分为了三部分,左上角是包(Packages)窗口,左下角是所有类(All Classes是)窗口,右侧是详情窗口。这里推…

最大连通子数组

这次是求联通子数组的求和,我们想用图的某些算法,比如迪杰斯特拉等,但是遇到了困难。用BFS搜索能达到要求,但是还未能成功。 那么我们这样想,先将每行的最大子数组之和,然后再将这些最大之和组成一个数组&a…

redis的zset的底层实现_Redis(三)--- Redis的五大数据类型的底层实现

1、简介Redis的五大数据类型也称五大数据对象;前面介绍过6大数据结构,Redis并没有直接使用这些结构来实现键值对数据库,而是使用这些结构构建了一个对象系统redisObject;这个对象系统包含了五大数据对象,字符串对象(st…

科学计算机简单编程_是“计算机科学”还是“编程”?

科学计算机简单编程by Sam Corcos由Sam Corcos 是“计算机科学”还是“编程”? (Is It “Computer Science” or “Programming”?) 教育政策白皮书(提示:它们不是同一个东西) (An education policy white paper (hint: they’re not the same thing))…

[Matlab] 画图命令

matlab画图命令,不定时更新以便查找 set(gcf, color, [1 1 1]);     % 使图背景为白色 alpha(0.4);           %设置平面透明度 plot(Circle1,Circle2,k--,linewidth,1.25);  % k--设置线型  ‘linewidth’,1.25  设置线宽度为1.25 %线型   …

django入门记录 2

1. 创建一个app, python manage.py startapp appname 2. 设计model,在appname/目录下编辑好model 3. 检测model的修改,python manage.py makemigrations appname 4. 自动执行数据库迁移,并同步管理数据库结构, python…

spark sql 数据类型转换_SparkSql 数据类型转换

1、SparkSql数据类型 1.1数字类型 ByteType:代表一个字节的整数。范围是-128到127 ShortType:代表两个字节的整数。范围是-32768到32767 IntegerType:代表4个字节的整数。范围是-2147483648到2147483647 LongType:代表8个字节的整数。范围是-9223372036854775808到92233720…

【Python】 list dict str

list & dict & str 这三种类型是python中最常用的几种数据类型。他们都是序列的一种 ■  序列通用操作 1. 分片 s[a:b] 返回序列s中从s[a]到s[b-1]的片段。注意s[0:0]是空集而不是s[0] s[a:b:c]  加入第三个参数以设置取样步长。可以设置成负数来从右向左取样 2. 加…

终端terminal的颜色配置

PS1 color 终端terminal的颜色配置 PS1"\[\e[92;1m\][\u\e[90;5m\e[25m\[\e[91;4m\]Atlas\e[24m\[\e[1m\]\[\e[92;1m\] \W ]\\$\[\e[0m\]" Set CodeDescriptionExamplePreview1Bold/Bright echo -e "Normal \e[1mBold" 2Dim echo -e "Normal \e[2mDi…

速度与激情的Webpack

Also published in my tech blog也发布在我的技术博客中 This is a guide that is meant to help you ease your development workflow and save your time by using a bunch of awesome tools that you’ve read about on the internet (does React Hot Loader ring any bells…

java nio socket长连接_nio实现Socket长连接和心跳

前段时间用bio方式,也就是传统io实现了socket的长连接和心跳,总觉着服务端开启多线程管理socket连接的方式过于消耗资源,数据并发的情况下可能会影响到性能,因此就尝试使用nio改进原来的代码。然而改进的过程却不像我起初设想的那…

unity让对象作为参数_C#+Unity学习笔记:类与对象

参考文献蜜酒厅通讯社 游戏部 石中居士对象(object):有状态、行为和身份的东西。状态(state):表示物体特征的信息,可以用来跟踪对象的状态。属性(properties):因为编程人员需要把控对象的状态,所以要对其进行访问。通过…