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,一经查实,立即删除!

相关文章

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

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

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

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

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…

[Matlab] 画图命令

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

终端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…

Linux Kernel Oops异常分析

0.linux内核异常常用分析方法 异常地址是否在0附近,确认是否是空指针解引用问题异常地址是否在iomem映射区,确认是否是设备访问总线异常问题,如PCI异常导致的地址访问异常异常地址是否在stack附近,如果相邻&#xff0c…

【懒癌发作】收集各种懒癌发作时用程序写作业的程序

updata:20170621 好的,已经是准高一了,现在看起来太蠢了。。。 -------------------------------------------------------------------------------------- 要真正的运用,程序一定是要来解决实际问题的——比如作业(懒就直说&…

50欧姆线设计 高频pcb_硬件设计基础100问(三)

硬件基础知识问答今天依旧是节前知识储备哦,jacky大神整理的硬件基础知识很细致,第三弹学起来!01 1、晶体管基本放大电路有共射、共集、共基三种接法,请简述这三种基本放大电路的特点。共射:共射放大电路具有放大电流和…

java操作文件爱女_Java的IO操作---File类

目标1)掌握File类作用2)可以使用file类中方法对文件进行读写操作。File类唯一与文件有关的类。使用file类可进行创建或删除操作,要想使用File类,首先观察File类的构造方法。public File(String pathname);实例化File类的时候,必须设置好路径。…

openssl创建私有ca

openssl创建私有ca1.ssl大概内容PKI:公钥基础设施结构CA:证书权威机构,PKI的核心CRL:证书吊销列表,使用证书之前需要检测证书有效性证书存储格式常见的X509格式包含内容 公钥有效期限证书的合法拥有人证书该如何使用CA的信息CA签名…

查询显示注释_SQL的简单查询

1.基本的查询语句-- *代表查询所有的列select * from <表名>;distinct表示列中不包括重复的值&#xff0c;例如select distinct 姓名&#xff1b;如果是select distinct 姓名,学号&#xff1b;则表示姓名和学号都重复的值才会显示。as为列设定别名&#xff0c;例如select…

【AC自动机】【数据结构】【树】【Aho-Corasick automation】AC自动机理解(入门)...

引入 我们首先提出一个问题&#xff1a; 给出n个串每个串的长度≤m 然后给出一个长度为k的串&#xff0c;询问前n个串中有多少个是匹配成了的 暴力搜索 这题不是sb题目吗&#xff1f; 随随便便O(kmn)跑过。 。。。。 n10000 m50 k1000000 。。。。 好吧——我们用AC自动…

java 栈空间_初学JAVA——栈空间堆空间的理解

1.Person pangzi; //这是在“开拓空间”于栈空间pangzinew Person(); //这是赋值于堆空间上两步就是在做与空间对应的事。2.值类型直接存入栈空间&#xff0c;如AF&#xff0c;引用类型存入堆空间&#xff0c;在栈空间存有“索引地址”&#xff0c;如当需要B时&#xff0…

jmeter+maven+jenkins自动化接口测试(下)

mavenjmeter已经写好了&#xff0c;可以通过maven来执行jmeter的接口测试脚本&#xff0c;怎样实现定时执行测试并发送报告邮件就需要通过jenkins了&#xff08;jmeter或者testng也可以结合不同的邮件jar包来发送邮件&#xff0c;这里使用jenkins&#xff09; 安装jenkins笔记有…

Android RecyclerView (一) 使用完全解析

转载请标明出处&#xff1a; http://blog.csdn.net/lmj623565791/article/details/45059587&#xff1b; 本文出自:【张鸿洋的博客】 概述 RecyclerView出现已经有一段时间了&#xff0c;相信大家肯定不陌生了&#xff0c;大家可以通过导入support-v7对其进行使用。 据官方的…

Asix下日志包冲突

为什么80%的码农都做不了架构师&#xff1f;>>> Class org.apache.commons.logging.impl.SLF4JLogFactory does not implement org.apache.commons.logging. 最近集成asix包的时候发生如下错误&#xff0c;原因是程序运行时logFactoryImple加载了JBOSS下面的sff4j包…

kubernetes中mysql乱码_在kubernetes中部署tomcat与mysql集群-Go语言中文社区

在kubernetes中部署tomcat与mysql集群之前必须要有以下这些基础&#xff1a;1. 已安装、配置kubernetes2. 集群中有tomcat与mysql容器镜像3. 有docker基础具体步骤部署tomcat创建tomcat RC对象我们想要在kubernetes集群中配置tomcat服务器&#xff0c;首先要保证集群中的节点上…

【原】Jenkins持续集成环境搭建之创建java项目的job【centos6.5 java maven git 项目】...

一、构建一个maven项目在jenkins主页上&#xff0c;左侧&#xff0c;选择“新建”&#xff0c;然后填写项目名称&#xff0c;选择“构建一个maven项目”二、Git配置保存之后&#xff0c;进入详细配置页面&#xff1a;这里的源码管理&#xff1a;选择git&#xff0c;输入代码的g…

Linux内核分析作业第八周

进程的切换和系统的一般执行过程 一、进程调度的时机 中断处理过程&#xff08;包括时钟中断、I/O中断、系统调用和异常&#xff09;中&#xff0c;直接调用schedule()&#xff0c;或者返回用户态时根据need_resched标记调用schedule()&#xff1b; 内核线程可以直接调用sched…