如何在命令提示符下编译运行含有Package的java文件
这篇是大二自学Java的时候记下的笔记,中午回顾印象笔记的时候意外看到了这篇。看到多年前写下的文字,我想起那时候我对Java的懵懵懂懂,每天晚上在图书馆照着书写书上的示例代码,为一个中文分号绞尽脑汁,为命令提示符上打印出的图案而兴奋。到现在我依然觉得,一个从没有过编程经验的人在屏幕上打印出Hello World
的时候,他真的感觉是对一个全新的世界说了句“你好,我来了”。
尽管现在来看那时候遇到的问题现在看来真的是很简单,甚至可以说是很蠢的,但我依然感激当初那个再图书馆写代码的自己。正是这一点一滴简单的愚蠢的积累才有了今天的编程能力,现在我可以自己开发一个网站后台,这在当时的我看来是绝对不敢相信的事。
因此我也希望对刚接触编程的朋友们说一句,如果你想学编程,不要好高骛远,只需要从一点一滴做起,积累遇到的问题(如果有精力还应该写成博客),坚持写代码,总有一天你会感激自己当初的坚持的。因为很多时候最重要的事情并不是你究竟做到了何种程度,而是你究竟有没有做,坚持做一件事,并为之付出努力,这就是成功(狭义的)的方法。
在用Eclipse编译运行java文件时不用考虑Package的问题,但是如何在命令提示符下运行添加Package后的java文件呢?
package test;
import test.B;
public class A {
public static void main(String[] args) {
B b=new B();
b.print();
}
}
package test;
public class B {
void print(){
System.out.println("ok!");
}
public static void main(String[] args) {
}
}
我在D:\workspace\test\src\test目录下有两个.java文件A.java和B.java,那么我该如何编译这两个文件呢?此时用命令提示符执行javac语句编译A.java会显示错误
我们在A中调用了B中的方法,所以只编译A,B是不会被编译的。要解决此问题需要同时编译A和B。而A和B同在test包 下,所以我们找到test所在目录D:\workspace\test\src,在cmd中执行命令 java .\test*.java 。此时A和B两个文件同时编译通过了。
再用java命令去执行A,发现直接用java A来运行会报错。切换到A所在的D:/workspace/test/src/test 目录下执行依然会报错。由于我们之前的编译的时候是在Package所在的目录,那么我执行的时候要执行test下的A文件。
在D:\workspace\test\src 目录下执行java test.A ,运行成功。
如何在命令提示符下编译运行含有Package的java文件的更多相关文章
- linux下编译运行驱动
linux下编译运行驱动 嵌入式linux下设备驱动的运行和linux x86 pc下运行设备驱动是类似的,由于手头没有嵌入式linux设备,先在vmware上的linux上学习驱动开发. 按照如下方 ...
- linux下编译运行TIGL Viewer步骤
linux下编译运行TIGL Viewer步骤(仅为了正确编译安装的话直接跳到步骤3) 1. linux发行版选择:由于linux发行版众多,不同版本包含的库版本可能存在差别,因此需要选择正确的版本. ...
- 在命令提示符下,运行Java程序时,提示"找不到或无法加载主类"
小白:在命令提示符下,运行Java程序时,提示"找不到或无法加载主类". 大神:运行Java程序的作用是让Java解释器装载,检验并运行字节码文件(.class).因此,在运行Ja ...
- Linux程序在Windows下编译运行_MinGW和Cygwin
linux要在windows下编译运行,需要win下的gcc编译器,一般有两种:MinGW和Cygwin. 但某些函数在windows没有,即使使用两种工具也编译不过,需要查询windows函数并使用 ...
- VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件
本文同时在我的博客发布:VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件 - Skykguj 's Blog (sky390.cn) 使用 Visual Studio C ...
- Java学习笔记5---命令行下用javac,java编译运行含package语句的类
对于笔记3中的HelloWorld程序,编译时只要输入javac HelloWorld.java即可生成类文件:再用java HelloWorld即可运行. 如果源程序使用了包声明,编译运行时要使用某 ...
- xv6 + Qemu 在Ubuntu下编译运行教程【转】
转自:https://blog.csdn.net/yinglang19941010/article/details/49310111 如果想要离线看教程,可以下载该 文档 一.使用工具说明 1. ...
- CMD下编译运行Java程序
准备1:JDK下好了 准备2:环境变量配置好了 准备3:本次测试用的是JDK8,用JDK10的在Eclipse里面好像用不了 满足上面三个条件,那可以继续看下去了 Test_1:带包编译运行 代码: ...
- 配置Windows下编译运行C/C++过程
1.首先确定电脑安装了VS或者VC++的IDE: 2.修改环境变量 在系统属性-高级-环境变量-用户变量中: 编辑PATH增加cl编译器的路径D:\Program Files\Microsoft Vi ...
随机推荐
- delphi 获取网卡信息(支持多网卡)
delphi 获取网卡信息(支持多网卡) unit LGetAdapterInfo; interface uses Windows, SysUtils, Classes; const MAX_HOST ...
- 【文智背后的奥秘】系列篇——分布式爬虫之WebKit
版权声明:本文由文智原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/139 来源:腾云阁 https://www.qclou ...
- 关于PreparedStatement.addBatch()方法 (转)
Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用. 1.建立链接,(打电话拨号 ) Connec ...
- 常用的jq插件
1.时间版翻转 FlipClock-master 2.整屏切换 fullpage 3.轮播图 swiper 4.滚动条样式 mCustomScrollbar 5.过滤和排序布局插件 Isotope. ...
- ios 给键盘上面加上“完成”
#import <UIKit/UIKit.h> @interface FirstViewController : UIViewController<UITextFieldDelega ...
- linux shell中FS、OFS、RS、ORS图解
在linux 中,总是会忘记FS\OFS\RS\ORS的使用 下面一张图非常明晰的显示
- Android动态添加布局
//1.利用LayoutInflater的inflate动态加载XML mLinearLayout = (LinearLayout)findViewById(R.id.LinearLayout_ID) ...
- log4net类库配置、WebService配置
一.类库配置 结构如下图 1.LogUtility类 public class LogUtility { private static readonly log4net.ILog log = log4 ...
- mysql max_allowed_packet参数值改大后,莫名被还原
mysql数据库用innodb引擎,mysql max_allowed_packet在my.cnf中值加大后,够一段时间,系统会莫名把这个参数的值改小. innodb_buffer_pool_size ...
- 云笔记类APP推荐
一.思绪收集类 Google Keep - 记事和清单 - Google Play 上的应用 注:谷歌 Keep 是最方便的收集思绪 APP 了.卡片视图,反应迅速,流畅,UI 漂亮,功能齐全,唯一不 ...