关于Java的“找不到或无法加载主类”
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的“找不到或无法加载主类”的更多相关文章
- 记一次解决cmd中执行java提示"找不到或无法加载主类"的问题
今天遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”.现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和clas ...
- Java 错误: 找不到或无法加载主类,问题集合
正确编译命令: javac Hello.java 正确运行命令: java Hello 错误1:H:\code>java Hello.java 错误: 找不到或无法加载主类 Hello. ...
- 编译和运行java文件 找不到或无法加载主类
这边提供一个关于程序中含有package关键字,使用“终端”运行程序时出现“找不到或无法加载主类”,而使用Eclipse软件可以正常运行程序的可能解决办法. 例如程序名为HelloWorldTest. ...
- java提示找不到或无法加载主类
背景 默许jdk的配置大家都没有问题,执行java,javac无报错,但今天在尝试在本地起来kafka的时候,提示java 找不到或无法加载主类,然后日志中提示 Files 找不到或无法加载主类:C: ...
- 关于解决cmd中执行java提示"找不到或无法加载主类"的问题
昨天学生遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”.现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和cl ...
- java 错误:找不到或无法加载主类的解决办法
此类错误的常见解决办法: 1.是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项目名上右键 -> Builder Path -> ...
- 声明了包的类Java命令找不到或无法加载主类
首先你需要配置环境变量: CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar java 命令会在 CLASSPATH 目录下找相应 ...
- java 错误: 找不到或无法加载主类
这个问题应该很常见的,笔者经常手工编译一些测试代码或者小工具,经常用到 javac和java来编译并运行一些简单的小工具. 以Hello World来测试. HelloWorld.java publi ...
- Java 提示“找不到或无法加载主类” 解决方法
1.检查环境变量配置,我的安装路径是F:\java\jdk1.8.0_91,因为是6以上版本,故不需配置Classpath 否则 CLASSPATH=.;%JAVA_HOME%\lib\dt.jar; ...
随机推荐
- iptables 开放端口
#iptables -A INPUT -p tcp --dport 5000 -j ACCEPT #service iptables save
- POJ1430
这个题目初看上去是一个排列组合题,而实际上……也是一个排列组合题. 题目描述是: Description The Stirling number of the second kind S(n, m) ...
- Python之路3【第零篇】目录
Web应用框架篇 1.Web应用框架前戏
- 【BZOJ1045】糖果传递(贪心)
[BZOJ1045]糖果传递(贪心) 题面 BZOJ 洛谷 题解 秉承者娱乐精神,我们必须写一个费用流,并且相信信仰跑不过去. 于是写了一个\(zkw\)费用流如下:(您可以无视此份代码) #incl ...
- 一次绕过防火墙获取RCE以及提权到root权限的渗透过程
本文是关于Apache struts2 CVE-2013-2251是由于导致执行远程命令的影响而被高度利用的漏洞.简而言之, 通过操纵以“action:”/”redirect:”/”redirectA ...
- CodeVs.2370 小机房的树 ( LCA 倍增 最近公共祖先)
CodeVs.2370 小机房的树 ( LCA 倍增 最近公共祖先) 题意分析 小机房有棵焕狗种的树,树上有N个节点,节点标号为0到N-1,有两只虫子名叫飘狗和大吉狗,分居在两个不同的节点上.有一天, ...
- Android Studio 创建/打开项目时一直处于Building“project name”Gradle project info 的解决
最近发现新版的AS,IDEA毛病不断,而且gradle的更新又给墙了,无奈啊! 进入类似如下的目录,发现如果没有对应的gradle解压文件,则在gradle官网下载完整压缩包,放入类似55xxxx串号 ...
- LGP4518[JSOI2018]绝地反击
题解: 只要确定了每艘飞船的就位位置,就可以用二分+网络流求得答案: 定义偏转角度$a$为离$x$正半轴逆时针最近的边的弧度,$a \in [0,\frac{2\pi}{n})$ 二分一个值,对于一个 ...
- E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)
http://codeforces.com/contest/862/problem/E 二分答案 一个数与数组中的哪个数最接近: 先对数组中的数排序,然后lower_bound #include &l ...
- 【python】python安装lxml报错【2】
cl : Command line warning D9025 : overriding '/W3' with '/w' lxml.etree.c c:\docume~\admini~.chi\loc ...