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

先说结论:只需要配置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

java开发环境:还在配classpath?你out啦!相关推荐

  1. java的环境变量设置_Java开发环境不再需要配置classpath

    前言: 之前发布了关于java开发环境配置的文章,经过与网友的交流,我了解到在jdk1.5以后,java开发环境配置的时候,确实不需要对classpath进行配置,查阅了一些资料以及与别人的交流,今天 ...

  2. Linux下Java开发环境的搭建Tomcat6+jdk6+eclipse3.5.2+Myeclipse9.0+mysql5.1.47

    Tomcat6+jdk6+eclipse3.5.2+Myeclipse9.0+mysql5.1.47 1.JDK的安装:usr/java/jdk1.6.0_25 下载:jdk-6u25-linux-i ...

  3. Windows下配置Java开发环境

    学习Java第一步是配置本地开发环境,学习最基本的桌面开发,下面以win7为例配置Java开发环境,即:JDK+JRE+Eclipse,安装JDK的时候会默认安装JRE,根据提示安装就可以了. 首先去 ...

  4. Docker最全教程之使用Docker搭建Java开发环境(十八)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

  5. Docker最全教程之使用Docker搭建Java开发环境

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. Java [Jav ...

  6. java环境怎么搭,如何搭建一个完整的Java开发环境

    作为一个java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,jdk 2,tomcat(或者其他的)3,eclipse(或者myeclipse ...

  7. java 开发 加固态_搭建一个完整的Java开发环境

    作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...

  8. 02.Java开发环境搭建

    Java为什么需要配置开发环境呢? 不是说Java一次编写处处运行吗?为什么还要配置Java环境? 答:Java程序是在JVM中运行的,那JRE是Java运行环境里面包含了Java运行核心类库和JVM ...

  9. 【java开发】快速搭建java开发环境(离线开发、在线开发)

    文章目录 1.简介 2.下载和安装jdk 2.2 下载jdk 2.2 配置环境变量 2.3 常见命令 3.jdk开发 3.1 测试代码(hello world) 3.2 测试代码(animal, do ...

  10. java做一个mud_菜鸟学Java(十二)——搭建一个完整的Java开发环境

    作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...

最新文章

  1. 自然语言推理和数据集
  2. 二维码检测哪家强?五大开源库测评比较
  3. Hyper-V 2016 系列教程25 配置NFS 存储服务器
  4. 2021-03-12 Python基础核心概念 变量和简单数据类型
  5. Java教程 实战学习Struts实例
  6. NetCore NW714 v2.0路由器TTL救砖
  7. mysql 导入dmp_mysql导入导出sql文件
  8. 运营前线2:一线运营专家的运营方法、技巧与实践03 3步策略做好内容管理
  9. MSSQL数据库初级到高级的学习资料整理
  10. 交换机VLAN 模式trunk和access 区别
  11. 人脸识别打卡项目(7)
  12. 计算机老是蓝屏需要重新启动3,电脑蓝屏重启,教您电脑经常自动蓝屏重启怎么办...
  13. ★追风的牛★添翼圈Moto Droid玩家手册(感谢原作者,只是做个备份而已,如果牵扯到越劝,我会立即删掉)
  14. 能有效恢复已删除文件的 5 个免费数据恢复软件分享
  15. org.jboss.deployment.DeploymentException: URL file:/X:/workspace/JBoss_AS/XXX.war/ deployment failed
  16. git --allow-unrelated-histories
  17. 机器学习——神经网络实验(附全过程代码)
  18. Google被封事件真相
  19. 中国城市人均月收入已突破9000人民币大关[转载]
  20. turtle简单绘图

热门文章

  1. 汇编语言-003(LAHF_SAHF 、XCHG、FLAGS、 OFFSET、ALIGN、PTR、LENGTHOF、SIZEOF)
  2. uva 1312——Cricket Field
  3. java中json重复数据结构_JAVA把各种数据结构转换为JSON格式
  4. 唯有自己变得强大_物竞天择,适者生存,唯有强大自己,方能百毒不侵
  5. IO多路转接模型-----epoll
  6. 【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)
  7. 【接口技术】8086的IN和OUT指令
  8. 1144 The Missing Number (20 分)
  9. 基于升序链表的定时器
  10. 三年Java开发,尚学堂java马士兵全套