情况一 Eclipse编译后的带包的文件的在命令行中不能运行的问题及解决办法

问题陈述:本人将EClipse的工作路径设为C:\software\eclipseworks,并建了一个名为MyFirstJAVA的项目,文件结构如下图

然后在Eclipse里面进行编译 得到的文件结构如下(其中MyFirstClass位于C:\software\eclipseworks目录下) :

然后运行下面任务,将出现下面情况

错误提示的意思是找不到类,但是让我们运行如下命令时则能出现正确结果如下:

 

情况二 带包的java类在命令行中的如何编译和执行

假设在C:\JavaDemo文件夹下有类Hello.java,其源码如下:

package cn.sun.hello;

public class Hello {

public static void main(String[] args) {

System.out.println("Hello World!");

}

}

方法一:

编译:

C:\JavaDemo>javac Hello.java

新建目录:

C:\JavaDemo>md cn\sun\hello

移动字节码文件Hello.cass到 .\cn\sun\hello文件夹下。

C:\javaDemo>move Hello.class .\cn\sun\hello

执行程序:

C:\JavaDemo>java cn.sun.hello.Hello

输入结果:

Hello World!

以上仅提供一种简单方法,参考而已.

方法二:

c:\JavaDemo>Hello.java

编译:

c:\JavaDemo>javac -d . Hello.java

执行:

c:\JavaDemo>java cn.sun.Hello

总结 java中的包表现在文件系统中就是文件夹,我们在编译直接找到.java文件所在的目录利用javac (你要编译的文件名).java

但在执行过程中首先依据包的层次建立文件夹 将编译后的文件.class拷贝到最底层文件夹下 然后转到不包含包文件夹的最底层文件夹下,用如下格式执行这个class文件:

java  包名1.包名11.-------.(编译生成的文件名).class

就能执行了,其中包名1和包名11表明包的层次结构 。 

 

转载于:https://www.cnblogs.com/liuling2010/archive/2010/12/05/1896850.html

java中带包的类在命令行中的编译和执行中出现的问题及解决办法相关推荐

  1. Java 中带包的类的编译与运行

    本文默认:您会使用cmd进行不带包的Java文件的编译和运行.(即javac **.java与java **) 1.一个带包的Java文件的编译与运行 首先编写了一个Main.java文件,注意代码中 ...

  2. 关于mysql的cmd命令行窗口中文乱码以及表格不整齐的原因以及解决办法

    1.中文乱码 1.出现原因 字符集是utf-8,不能显示所有的汉字 创建表的时候出了问题.创建表的时候默认字符集是Latin1 2.解决办法 set names gbk; 这是暂时的解决措施,每次打开 ...

  3. Java中的包,类的导入,静态导入

    包的作用 1. 为了更好的组织代码,能够将自己的代码与代码库的代码分离. 2. 在需要合作完成的工作中,可以使用分包的方式来尽量的减少类命名的冲突. Sun公司推荐程序员使用公司域名的反向字符作为公司 ...

  4. java的包资源管理器怎么弄出来_eclipse包资源管理器java项目,包,类重命名 来学习吧...

    eclipse包资源管理器java项目,包,类重命名,对于修改已知创建的包(包括java项目,java包)和java类文件的命名非常重要的,有时候你的java包里有多个java文件,你要改名字,可以说 ...

  5. deb 安装_本地安装DEB包的3种命令行工具(适合Ubuntu和Deepin )

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 在本教程中,我们将学习如何使用三种不同的命令行工具(d ...

  6. 命令行启动ssh_如何在虚拟机中正确的第一次启动Linux系统

    在小编的上一篇文中,有介绍过如何在Virtualbox虚拟机中安装Linux CentOS系统,今天我们尝试第一次启动Linux系统,为保证虚拟机的流畅运行,建议将分辨率设置为 800x600. 1. ...

  7. linux默认csh修改命令,Solaris中默认Shell的修改以及命令行补全的设置

    Solaris中默认Shell的修改以及命令行补全的设置 发布时间:2008-02-18 00:01:41来源:红联作者:qtsmy Solaris10 x86虽然可以跑起来,但有很多方面都用这和以前 ...

  8. mysql 密码 特殊符号_MySQL数据库之mysql设置复杂密码中含$特殊符号导致无法命令行登录...

    本文主要向大家介绍了MySQL数据库之mysql设置复杂密码中含$特殊符号导致无法命令行登录 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 安全考虑 在设置MYSQL 密码时候 ...

  9. c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题

    c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题 例如: string myFunc(){ theLogics(); } 发现调用: myFunc(); 崩溃. 但调用: cout ...

  10. 【vim】系统剪切板、vim寄存器之间的复制粘贴操作命令?系统剪切板中的内容复制粘贴到命令行?vim文本中复制粘贴到命令行

    一.系统剪切板和文本内容的复制粘贴 1.1 从系统剪切板复制粘贴到文本中 需要操作3次: 分别是英文双引号.一个加号或梅花号,最后是一个p 也即"+p 或者直接使用组合键[Shift + i ...

最新文章

  1. JMeter学习(二十三)关联
  2. DreamWeaver做ASP 第13页
  3. python学习之第三课时--基本数据类型及区别,变量
  4. Android -- 带你从源码角度领悟Dagger2入门到放弃(三)
  5. 红帽Redhat6.4 iso下载地址
  6. 深究AngularJS——排序
  7. MySQL之父直播公开课来了!与腾讯云CDB专家天团联袂分享
  8. Python爬虫基本库的使用
  9. android UI设计时须要注意遵循的设计原则
  10. 安装JDK以及配置Java运行环境
  11. webstorm简单介绍,webstrom基本使用
  12. mysql外部关联视图_MySQL数据库 : 自关联,视图,事物,索引
  13. 集合类之番外篇:深入解析HashMap、HashTable
  14. Spring的两种定时器
  15. 游戏测试-----------------第3章
  16. PyCharm 2020安装(免费版)
  17. bmd硬盘测试_硬盘测速工具:Blackmagic Disk Speed Test Mac
  18. 【笔记】python中使用if语句处理列表:检查特殊元素、确定列表不是空的、使用多个列表
  19. google建立快讯推荐被引用文章
  20. 计算机与资源管理器有何区别,在win7中双击打开计算机和右击打开资源管理器有什么区别...

热门文章

  1. 企业GDPR安全隐私合规性指南
  2. (转)好的投资应当是:善良为先,智慧为道,奋斗为本
  3. Julia: readcsv 如何处理带中文字符的CSV文件
  4. 为什么下一个十年的主战场在Serverless
  5. 机器学习笔记(三十二):集成学习、随机森林
  6. 【优化算法】矮猫鼬优化算法(DMO)【含Matlab源码 611期】
  7. 二维波动方程matlab,二维波动方程matlab
  8. 2中我建的表怎么是小写的_面试官:2个线程交替打印大小写英文字母,你会怎么实现?...
  9. cnn初学者—从这入门_使用Tensorflow为初学者使用CNN进行简单图像分类
  10. 蒙特卡洛方法习题_蒙特卡洛方法