【错误记录】Ubuntu 中执行 Java 程序报错 ( Error: Could not find or load main class TCPServer )
2023-06-13 09:17:40 时间
文章目录
一、报错信息
在 阿** Ubuntu 服务器 中 , 编译了一个简单的 Java 程序 , 执行时报错 :
root@iZ0jl34etligr9dxlsc52hZ:~# javac TCPServer.java
root@iZ0jl34etligr9dxlsc52hZ:~# java TCPServer
Error: Could not find or load main class TCPServer
root@iZ0jl34etligr9dxlsc52hZ:~#
二、解决方案
这是 classpath 环境变量 设置问题 , 字节码类的查找路径设置错误 , 或者设置的有疏漏 ;
查看 /etc/profile 环境变量 :
export JAVA_HOME=/usr/java/default
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:/usr/local/nginx/sbin:/usr/local/mysql/bin:$PATH
重点关注 CLASSPATH 环境变量 ,
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
当 执行 java xxx 命令时 , 查找 xxx.class 字节码文件时 , 到
- $JAVA_HOME/lib/tools.jar
- $JAVA_HOME/lib/dt.jar
- $JAVA_HOME/lib
三个目录中去查找 , 肯定找不到 xxx.class 字节码文件 ;
在 /root 目录 下 执行
javac TCPServer.java
编译 TCPServer.java 源码 , 编译后得到 TCPServer.class 字节码文件 ;
执行
java TCPServer
命令 , 就是 执行编译后的 TCPServer.class 字节码文件 ,
很明显 该字节码文件在 /root 目录下 , 也就是 . 当前文件中 ,
需要 将 .
当前目录添加到 CLASSPATH 环境变量中 ;
修改后的 CLASSPATH 环境变量为 :
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
修改完 /etc/profile 文件后 , 执行
source /etc/profile
命令 , 应用环境变量 ;
然后执行
java TCPServer
即可成功执行该应用 ;
root@iZ0jl34etligr9dxlsc52hZ:~# source /etc/profile
root@iZ0jl34etligr9dxlsc52hZ:~#
root@iZ0jl34etligr9dxlsc52hZ:~# java TCPServer
TCP服务器已启动,监听端口:8080
相关文章
- Spring Boot 最新发布,支持 Java 19,这速度太快了。。
- Java 常用Set集合和常用Map集合
- Java中利用DatagramPacket与DatagramSocket进行通讯的示例
- java局域网发送文件_Java如何实现局域网文件传输代码案例分享
- java卸载 安装错误_Java卸载后无法重新安装 提示已安装过[通俗易懂]
- java高级工程师面试情景题_Java高级工程师面试题III
- java启动器_JAVA基础:Java 启动器如何查找类
- c++和java哪个好学_c++语言和Java语言,初学者该如何选择?「建议收藏」
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java setproperty 未生效_Java System类setProperty()方法及示例[通俗易懂]
- java工程师笔试面试题[通俗易懂]
- 【说站】java线程池死锁的产生及处理
- java定时器实例_Java定时器小实例
- rtsp 获取视频流 java_浏览器无插件播放rtsp视频流 java后台 + js + html
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- Java生成随机数组_java生成唯一数字
- Java—java.util.calendar类详解「建议收藏」
- Java程序员最容易犯的十大SQL错误,你犯过几次?
- 从java到JavaScript(2):对比Java/Go/Swift/Rust看Dart
- java并发编程(2):Java多线程-java.util.concurrent高级工具
- Java中的for循环详解编程语言
- java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和System.err.println的区别 Java重定向System.out和System.err详解编程语言
- Java实现MSSQL数据库连接(java连接mssql)
- Java NIO(1):浅谈I/O模型详解编程语言
- 玩转Linux:Java开发入门指南(linux上开发java)
- Linux重装Java:给你的操作系统新的灵魂(linux重装java)
- 快速上手:Java连接Mongodb数据库(java连接mongodb数据库)
- 时间利用Java实现Redis中键值对的超时管理(redisjava过期)
- Deploying Java on Linux: A Simple Guide for Beginners.(linux上部署java)
- Java驾驭MySQL,读写如飞(java读写mysql)
- Linux查看Java安装路径:一步一步了解(linux查看java安装路径)
- Java实现与Oracle数据库的无缝整合(java整合oracle)
- 提升Java工程师技术Oracle搭配Java的绝佳美妙(java搭配oracle)
- Java与Oracle同步一种新的数据库模式(java同步oracle)
- java使用listIterator逆序arraylist示例分享
- java跟踪执行的sql语句示例分享
- java生成文件夹和文件的简单示例分享