Java编程思想4th第六章的关于访问权限和包的笔记总结时遇到了一个关于package命名及导入的问题。

环境:Ubuntu 16.04.3 LTS x86_64

首先,我要安装部署Java的开发环境,如下图所示:

由于我的远程主机上还没有安装Java开发环境,因此查看Java版本时,系统提示我"Java"命令暂不可使用,我使用apt-get安装了1.8版本的openjdk。安装好之后,如下图所示:

Java开发环境搭建时是需要进行额外配置的,主要是四个环境变量的配置:JAVA_HOME、JRE_HOME、CLASSPATH、PATH。前三个环境对于我这样的新人来说,显然是还不知道其作用和意义的,最后一个PATH环境变量倒是很熟悉。

PATH环境变量是用来简化命令的,当你在Linux的终端中通过shell来与计算机交互时,你需要向shell发出指令,shell接收之后解析执行,对于每个命令你必须明确指明,明确指明指的是其所在的绝对路径,比如我要ping一个网址,如下图所示:

上图中,我指出我要执行的程序的具体路径,然后这个程序接受一个网址参数。图中输出的结果和直接用ping没什么不同,除了如何指出ping这个程序之外。实际上,每个命令都是硬盘上某个文件夹下面的程序,要执行该程序就得告诉计算机它在哪里,不然计算机怎么知道呢?每次执行一个命令都要指出这个程序具体在哪,但是如果这个程序的具体路径很长怎么办?就像下面的例子一样:

难道用户每次都要写 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 这么长长一串吗?这显然是很费力的。 因此计算机中使用一个PATH环境变量来帮助减少那些不必要的输入,方法是在PATH环境变量事先存储一些路径,当我们只写程序名称时,系统自动在PATH环境变量中的路径下搜索该程序名称,如果找到就执行,找不到就报错。

待续...

关于Java的“找不到或无法加载主类”的更多相关文章

  1. 记一次解决cmd中执行java提示"找不到或无法加载主类"的问题

    今天遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”.现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和clas ...

  2. Java 错误: 找不到或无法加载主类,问题集合

      正确编译命令: javac Hello.java 正确运行命令: java Hello   错误1:H:\code>java Hello.java 错误: 找不到或无法加载主类 Hello. ...

  3. 编译和运行java文件 找不到或无法加载主类

    这边提供一个关于程序中含有package关键字,使用“终端”运行程序时出现“找不到或无法加载主类”,而使用Eclipse软件可以正常运行程序的可能解决办法. 例如程序名为HelloWorldTest. ...

  4. java提示找不到或无法加载主类

    背景 默许jdk的配置大家都没有问题,执行java,javac无报错,但今天在尝试在本地起来kafka的时候,提示java 找不到或无法加载主类,然后日志中提示 Files 找不到或无法加载主类:C: ...

  5. 关于解决cmd中执行java提示"找不到或无法加载主类"的问题

    昨天学生遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”.现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和cl ...

  6. java 错误:找不到或无法加载主类的解决办法

    此类错误的常见解决办法: 1.是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项目名上右键 -> Builder Path -> ...

  7. 声明了包的类Java命令找不到或无法加载主类

    首先你需要配置环境变量: CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar java 命令会在 CLASSPATH 目录下找相应 ...

  8. java 错误: 找不到或无法加载主类

    这个问题应该很常见的,笔者经常手工编译一些测试代码或者小工具,经常用到 javac和java来编译并运行一些简单的小工具. 以Hello World来测试. HelloWorld.java publi ...

  9. Java 提示“找不到或无法加载主类” 解决方法

    1.检查环境变量配置,我的安装路径是F:\java\jdk1.8.0_91,因为是6以上版本,故不需配置Classpath 否则 CLASSPATH=.;%JAVA_HOME%\lib\dt.jar; ...

随机推荐

  1. 静态属性加载到jvm时候就存放在数据共享区,而不是等new后出现

    静态属性加载到jvm时候就存放在数据共享区,而不是等new后出现.他的生命周期是 jvm结束 才会消失,一般的方法属性是对象结束后 就会消失.

  2. 解决MySQL复制出错 Last_SQL_Errno:1146

    背景:我们在做数据迁移或者拆分的时候,使用Tablespace transcation 这种解决方案时,很有可能就会遇到 从库复制出错,报: Last_SQL_Errno: 1146 那么具体错误内容 ...

  3. Nginx4大模块——proxy、headers、upstream、stream

    一:ngx_http_proxy_module 反向代理( reverse proxy) 方式是指用代理服务器来接受 Internet 上的连接请求, 然后将请求转发给内部网络中的上游服务器, 并将从 ...

  4. mapreduce方式操作hbase

    一.导入数据到hbase 1.配置hbase-site.xml指向hdfs <configuration> <property> <name>hbase.rootd ...

  5. 【bzoj3730】 震波

    http://www.lydsy.com/JudgeOnline/problem.php?id=3730 (题目链接) 题意 给出一棵树,每个节点又一个权值.两个操作,询问距离节点${x}$不超过${ ...

  6. Html 响应式 Web

    网格视图 很多网页都是基于网格设计的,这说明网页是按列来布局的. 使用网格视图有助于我们设计网页.这让我们向网页添加元素变的更简单. 响应式网格视图通常是 12 列,宽度为100%,在浏览器窗口大小调 ...

  7. Java中JDK,JRE和JVM之间的关系

    初学JAVA很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Envi ...

  8. Could not update Activiti database schema: unknown version from database: '5.20.0.1'

    转: Could not update Activiti database schema: unknown version from database: '5.20.0.1' 2017年11月22日 ...

  9. ORB算法介绍(转)

    本文为原创文章,转载请注明出处:http://blog.csdn.net/yang843061497/article/details/38553765 绪论 假如我有2张美女图片,我想确认这2张图片中 ...

  10. laravel 命令行输出进度条

    有时候我们想在命令行执行一些耗时的命令,我们可以利用 symfony 提供的进度条相关的类,来输出一个进度条,显示当前的处理进度. 参考:http://symfony.com/doc/current/ ...