ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home

我有错误

Exception in thread"main" java.lang.NoClassDefFoundError:

当我尝试在Ubuntu上运行编译类时。我使用的是一个非常简单的helloworld示例,互联网上已有数百万的响应表明我的classpath和java_home变量设置错误。

但是,我已经将etc/environment编辑为正确的文件夹以及当前文件夹:

PATH=".:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun/"

CLASSPATH=".:/usr/lib/jvm/java-1.5.0-sun/lib"

当我输入set命令时,它们就会出现。在任何情况下,即使我手动使用

sudo java -cp . myfirstjavaprog.class

我也有同样的错误。我还应该看看哪里?这一定是配置问题。

多谢

cyberciti.biz/faq/set-environment-variable-linux

你想把.class从头到尾丢掉。只要键入…

java -cp . myfirstjavaprog

我很沮丧,没有发现这一点。

我们中最优秀的人也会遇到。

我强烈建议去掉classpath环境变量,或者至少去掉JRE/JDK。

除非另有规定,否则"."隐含在类路径中。自从Java 1.3以来,Java已经足够聪明,可以根据JavaC/Java可执行文件的执行路径找到自己的运行库和库。从那时起,在类路径上指定那些内容是多余的,如果不是完全错误的话。当然,.../lib是不正确的,因为那里只有jar,没有类,如果没有单独和明确地命名,就不会从类路径中提取它们。

现代javas足够聪明,当您站在类路径的根目录中时,只需键入java,它就可以工作™。

你说得对,问题是当我尝试编译任何导入Swing组件的东西时,它给出了完全相同的错误。尽管helloworld.java示例很好…这似乎很奇怪。

哦。。。注意Windows默认情况下是用一个严重瘫痪的Java来运行的,可执行文件位于Windows系统类路径中。请在DOS提示符下做"Java版本",看看你正在运行的Java版本是否是你想要的版本!

同样的事情可以说是Ubuntu;因为它与GNU Java(至少是我见过的Ubuntu系统的两个系统)一起运行,而不是Sun的Java。K,它不是"严重残疾"-但它不是太阳的爪哇。

我在B/C上投票,关于"在谷歌上设置Java类路径"的东西不多。我错认为你还需要设置类路径…但我错了。

那爪哇之家呢…是否仍需要设置该路径变量?

@特雷弗:有一些工具很喜欢看它,我好像还记得有汤姆猫和蚂蚁在其中。但即使是那些没有的人,在"正常"的情况下,你也不需要它。

使用

sudo update-java-alternatives -s java-6-openjdk

它设置了很多类路径的东西。

你在把苹果和桔子混在一起。命令行上的原始Java或JavaC调用需要一个类路径来知道它可以访问它的类。当你奔跑

java -cp pathelement1:pathelement2... MyClass

您给Java提供查找可运行类的位置列表。它不会在其他地方看到,包括".",除非你告诉它。所以"classpath"对你没有帮助,除非你跑

java -cp $CLASSPATH MyClass

换句话说,它只是一个快捷方式,可以继续重新输入类路径。

许多程序被配置为使用JavaJHOST,但最终运行Java程序只需要配置的类路径和Java路径(它们通过JavaJHOLD变量找到,所以您仍然需要它来处理像Ant之类的东西,但它的概念仍然只是一个快捷方式)。

您的路径是系统查找二进制文件的路径。如果Java不在您的路径上(类型"Java"),它将显示您的路径(如果有的话,Java)。运行/完全/路径/to/Java与运行"Java"相同,并使系统在路径变量中找到二进制。

不,我认为是类路径环境变量被忽略了。

正确的方法是在编译和运行时使用-classpath选项。为每个项目设置。你眼前的证据告诉你是这样的。

为什么类路径被忽略?几个原因:

这是一个Java 1伪品,已经失宠了。

JVM不能保证您已经将其设置为环境变量。

IDE有自己的需求,所以它们不依赖于它。

JavaEE应用服务器有他们自己的要求,所以他们不依赖它。

每次都必须给出整个路径,因为每个项目都可能不同。一旦你通过了"你好,世界",你会发现你自己正在为它编写脚本,或者使用Ant和Maven这样的工具来帮助你为你的项目设置类路径。

这是个坏主意。因为每次他都要全力以赴

为什么类路径环境变量被忽略?

@拉克沙曼-错。他必须学习如何以一种适合未来项目的方式来完成它,这种方式不太可能在命令行上编译和运行。

这个答案像金子。然而,DOS的人是被拧死的。255个字符的命令行。再次感谢,比尔!

关键是,一旦通过"hello,world"和教程,就没有人使用命令shell来编译或运行任何有意义的东西。这几乎不是你想要解决的问题。桌面应用程序使用脚本和Ant;部署的应用程序使用内置的约定。如果它这么大,Java早在几年前就已经绝迹了。

好吧,我找错地方了。原来Java是好的,我是两个单独的问题得到相同错误的受害者。

我最初试图从Java网站上运行一个Swing实例,但我没有注意到它有一个包定义。我已经设置了正确的文件夹结构,现在运行正常。

当我尝试运行HelloWorld示例时,不小心包含了.class扩展名。

这两个问题都给了我classNotFound错误。

非常感谢你的帮助。

我强烈建议你花些时间看太阳教程。它将帮助你以后-阶级道路是臭名昭著的麻烦制造者。

http://java.sun.com/docs/books/tutorial/getstarted/toc.html网站

对于设置java_home变量,以下是说明。

http://luckydev07.blogspot.com/2009/08/setting-javahome-in-ubuntu-linux.html

类路径可以类似地设置

已经设置了这些变量,但出于某种原因它们被忽略了。我一定有语法问题。

链接不再工作..考虑更新..

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Polo the Penguin and Matrix

Little penguin Polo has an n  m matrix, consisting of integers. Lets index the matrix rows from 1 to n from top to bottom and lets index the columns from 1 to m from left to right. Lets represent the matrix element on the intersection of row i and column…

趣解 XSS和CSRF的原理

参考文章:趣解 XSS和CSRF的原理 推荐网站:古黑论 感谢作者分享!

js异步解决方案 --- 回调函数 vs promise vs generater/yield vs async/await

javascript -- 深度解析异步解决方案 高级语言层出不穷, 然而唯 js 鹤立鸡群, 这要说道js的设计理念, js天生为异步而生, 正如布道者朴灵在 node深入浅出--(有兴趣的可以读一下, 很有意思^_^) , 异步很早就存在于操作系统的底层, 意外的是,在绝大多数高级编程语言中…

什么是TPDU

TPDU,全称Transport Protocol Data Unit,是指传送协议数据单元。代表从一个传输实体发送至另一个传输实体的消息。 我们需要为传输实体之间交换的数据单元起一个更加一般化的名字,TCP的术语是数据段,它很容易混淆,而且在TCP领域之…

sql注入基本原理

1. 参考文献: 趣解SQL注入原理 Sql注入基本原理 2.参考书籍

项目管理杂谈-员工的积极性在哪里?

项目开发过程中,每每有人感叹,曾几何时,队伍如何好带,如何好用,而如今,人心繁杂,队伍不好带了。很多人的想法是“人望高处走”,不停的寻找待遇及其他方面更好的单位。其实&#xff0…

centos7硬盘分区

首先在虚拟机的设置中为系统添加硬盘 使用fdisk -l /dev/sdb 查看未分区的硬盘 fdisk -l /dev/sda 这是已经分区好得 接下来我们就要对sdb进行分区: 首先使用fdisk /dev/sdb 接着输入m可以看到详细命令 进行添加分区 已经建立好4个主分区,在建立时会看到以下 删除…

java上传rar文件_java实现上传zip/rar压缩文件,自动解压

在pom中添加解压jar依赖4.0.0org.springframework.bootspring-boot-starter-parent2.1.2.RELEASEcom.hfuncompress0.0.1-SNAPSHOTuncompress上传压缩文件(rar或者zip格式),解压1.8org.springframework.bootspring-boot-starter-weborg.projectlomboklomboktrueorg.springframew…

从MapReduce的执行来看如何优化MaxCompute(原ODPS) SQL

摘要: SQL基础有这些操作(按照执行顺序来排列): from join(left join, right join, inner join, outer join ,semi join) where group by select sum distinct count order by 如果我们能理解mapreduce是怎么实现这些SQL中的基本操…

套接字(socket)基本知识与工作原理

套接字(socket)基本知识与工作原理 一、Socket相关概念 Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。(其实就是两个程序通信用的。) SOCKET用于在两个基于TCP/IP协议的应用程序之…

python 多线程--重点知识

1.全局变量global的用法 2.多线程共享全局变量-args参数 注意args参数类型为元组,逗号不能少!

Flask WTForm表单的使用

运行环境: python2.7 flask 0.11 flask-wtf 0.14.2 wtform能够通过一个类定义一些字段,这些字段会在前端生成标签,并且通过设置字段的验证规则,自动判断前端输入数据的格式。 一般用于用户登录,用户注册等信息录入。…

Java与C#个人之比较

网上这方面的比较文章已经有不少了,不过大都是要么从很高的角度说的,要么就是从底层说的,本人就以自己这几年的编程经历中的感受,来谈谈自己的体会。 相似性: Java和C#都是一门面向对象的语言,Java更多地…

java利用子类求正方形_Java程序设计实验2011

(2)掌握对象的声明和使用;(3)掌握构造方法的概念和使用;(4)掌握类及成员的访问控制符。2、实验任务(1)阅读下面的程序,在main()方法里添加语句完成如下的功能:①创建一个MyV alue类的对象myV alue。②为myV alue对象中的value域赋…

当导用模块与包的import与from的问题(模块与包的调用)

当在views.py里写impor models会不会报错呢? 1、Python里面的py文件都是每一行的代码。2、Python解释器去找一个模块的时候,只去sys.path的路径里找3、django项目启动(django项目的启动文件是manage.py)启动项目是将manage.py的路…

ack和seq

ACK (Acknowledgement),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。 seq是序列号,这是为了连接以后传送数据用的,ack是对收到的数据包的确认&#xff…

MySQL中的information_schema

0.引言 近日在学习网络安全的sql注入时,用到mysql中的information_schema数据库,其思路是利用information_schema中的SCHEMA获取数据库中的table名称。现在对相关数据库进行总结,方便以后复习使用。 2.information_schema数据库 informati…

linux配置防火墙,开启端口

linux配置防火墙,开启端口 Centos7,配置防火墙,开启端口  1.查看已开放的端口(默认不开放任何端口)    firewall-cmd --list-ports  2.开启80端口    firewall-cmd --zonepublic(作用域) --add-port80/tcp(端口和访问类型) --permanent(永久…

使用Intel编译器系列合集

好的帖子:http://topic.csdn.net/u/20080327/16/071b45df-3795-4bf1-9c4d-da4eb5aaa739.html参考手册:http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011Update/compiler_c/index.htm 说明:本系列文章为个…

【前端】这可能是你看过最全的css居中解决方案了~

1.水平居中&#xff1a;行内元素解决方案 适用元素&#xff1a;文字&#xff0c;链接&#xff0c;及其其它inline或者inline-*类型元素&#xff08;inline-block&#xff0c;inline-table&#xff0c;inline-flex&#xff09; html部分代码:<div>文字元素</div><…