java编译和运行带有包名的类

news2025/6/18 5:25:14

写在前面

对于习惯了使用ide的我们似乎早已经忘记了如何通过命令行来编译和运行java类了,至少我是这样的,本文就一起来回顾下吧!

1:运行不带包的类

这种相信大多数朋友都记得,直接javac yourCode.java,然后java yourCode.class就行了,如下源码:

//package javadeveloper.mkmoney;

public class TestByte {
	public static void main(String[] args) {
		TestByte testByte = new TestByte();
		System.out.println(testByte);
	}
}

则如下编译和运行:

bogon:temp xb$ javac TestByte.java 
bogon:temp xb$ java TestByte
TestByte@6073f712

注意java命令运行时不要带.class,否则就会变为.class.class,会找不到文件,

但是当我们通过package xxx.yyy给类指定了包之后有怎么样编译和运行呢?接着来看下。

2:运行带包的类

定义如下:

package javadeveloper.mkmoney;

public class TestByte {
	public static void main(String[] args) {
		TestByte testByte = new TestByte();
		System.out.println(testByte + "111");
	}
}

编译有两种方式,类在文件夹javadeveloper/mkmoney中,以及不在两种情况,分别看下。

2.1:在package对应的文件夹中

如下图:

在这里插入图片描述
通过如下方式编译:

bogon:temp xb$ javac javadeveloper/mkmoney/TestByte.java 

运行后会在javadeveloper/mkmoney文件夹下生成对应的字节码文件,如下图:
在这里插入图片描述
通过如下两种方式运行:

bogon:temp xb$ java javadeveloper/mkmoney/TestByte
javadeveloper.mkmoney.TestByte@5f150435111

OR 

bogon:temp xb$ java javadeveloper.mkmoney.TestByte
javadeveloper.mkmoney.TestByte@5f150435111

注意必须在根目录执行,如下:

bogon:temp xb$ tree
.
|____javadeveloper
| |____mkmoney
| | |____TestByte.class

2.2:不在package对应的文件夹中

如下在一个随机的目录;
在这里插入图片描述
然后通过增加-d .的方式来生成字节码文件,则会按照包路径生成对应的文件夹并将字节码文件放在目录中,如下:

bogon:temp xb$ javac -d . TestByte.java 
bogon:temp xb$ tree
.
|____javadeveloper
| |____mkmoney
| | |____TestByte.class
|____TestByte.java

接着我们可以通过如下的两种方式来运行:

bogon:temp xb$ java javadeveloper/mkmoney/TestByte
javadeveloper.mkmoney.TestByte@5f150435111
bogon:temp xb$ java javadeveloper.mkmoney.TestByte
javadeveloper.mkmoney.TestByte@5f150435111

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

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

相关文章

Camtasia studio2023录屏和后期剪辑的软件

Camtasia 2023是专门用于屏幕录制的软件,功能十分丰富,不仅可以录制电脑屏幕、局部区域和摄像头等,而且还能即时编辑视频,给视频添加转场、旁白、字幕等,能够轻松制作更优秀的视频。 兼顾录屏和后期剪辑的软件—Camtas…

Oracle_EBS_核心功能(MFG)(第二部分)

BOM: Routing工艺路线应用:Bills of Material 职责:Bills of Material 基础业务学习总体说明 Routing(工艺路线)最终解决的问题是生产过程中加工顺序、资源和用量的标准化。准确度要求在98%以上,要不断与现场比对&…

【离散数学】图论

1、有n个点没有边 零图 2、有1个点没有边 平凡图 3、含有平行边的图 多重图 4、简单图 不含有平行边和自回环的图 5、任意两个结点之间都有边 完全图 6、环贡献 两度 7、所有顶点的度数之和等于边数的两倍 8、在有向图中所有顶点的出度之和 或者 入度之和 等于边数 9、度数为…

特斯拉和OpenAI的加持,马斯克简直人生赢家

赢家已定 商人行事,最重要的因素之一是利益驱动。这里,最服“马斯克”。 以马斯克为首的特斯拉公司周日宣布,将在上海新建一家超级工厂,专门生产该公司的储能产品Megapack。签约的特斯拉储能超级工厂项目也是该公司在美国本土以…

【论文笔记】CRN: Camera Radar Net for Accurate, Robust, Efficient 3D Perception

原文链接:https://arxiv.org/abs/2304.00670 1. 引言 本文提出两阶段融合方法CRN,能使用相机和雷达生成语义丰富且位置精确的BEV特征。具体来说,首先将图像透视特征转换到BEV下,该步骤依赖雷达,称为雷达辅助的视图变换…

大数据技术(入门篇) --- centos7安装CDH6.2集群

随着信息化时代的进步,业务系统的数据量出现了爆发式的增长,带来的不良结果就是数据库的数据量剧增,而部分业务系统需要实时数据,有些业务系统需要离线计算后的数据,所以就产生了大数据技术,因此最近在学习…

面试官:说一说mysql的varchar字段最大长度?

在mysql建表sql里,我们经常会有定义字符串类型的需求。 CREATE TABLE user (name varchar(100) NOT NULL DEFAULT COMMENT 名字 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 ;比方说user表里的名字,就是个字符串。mysql里有两个类型比较适合这个场景。 ch…

剧本拆分如何用ai人工智能辅助完成

随着现代技术的发展,人工智能在电影制作领域中的应用已经越来越普遍。其中,辅助剧本拆分是人工智能技术的一种重要应用。人工智能可以帮助电影制作人员更快速、更准确地进行剧本拆分,提高制作效率和创作质量。 剧本拆分是电影制作中非常重要的…

二叉树的链式结构

思维导图 二叉树的创建 先定义一个二叉树链式结构的结构体 typedef int BTDatatype; typedef struct BinaryTreeNode {struct BinaryTreeNode* left;struct BinaryTreeNode* right;BTDatatype data; }BTNode; 手搓一个二叉树(前序遍历的方式创建二叉树放到OJ题…

nm命令 以及 C++11 编译出现找不到stringstream 以及 undefined reference to `std::runtime_error

最近在学习ZLMediaKit 源码 里面用到了很多C11 的知识 本地有一个 ubuntu18.04 的服务器 源码下下来发现 直接编译报很多错误 比如 找不到 std::runtime_error 找不到 stringstream 等等等 后来偶然的机会发现 是libstdc.so.6 太老了 找一个新的 替换掉这个就可以 …

新 Nano(五)自己写个库,读 DHT11 / DHT22

DHT11 这款温湿度传感器 几乎是所有 MCU 入门第一个传感器, 现在看来有些不合时宜, 毕竟过于廉价,数据不太靠谱,远不如 AHT10 好用。早年买了两个,按例程读出数据后就吃灰了。某日看到有人说自己按datasheet去读&#…

c#快速入门~在java基础上,知道C#和JAVA 的不同即可

☺ 观看下文前提:如果你的主语言是java,现在想再学一门新语言C#,下文是在java基础上,对比和java的不同,快速上手C#,当然不是说学C#的前提是需要java,而是下文是从主语言是java的情况下&#xff…

CloudIDE 如何提升研发效能

原文作者:行云创新技术总监 邓冰寒 引言 CloudIDE ,一种基于云计算技术开发的云原生集成开发环境,可以帮助企业提高研发效能,实现数字化转型的目标。本文将探讨 CloudIDE 如何在数字化时代体现业务价值、提升研发效能。 CloudID…

【一起撸个DL框架】1 绪论

文章目录第一章 绪论 🍉1.1 在人工智能的大潮里1.2 为什么重复造轮子1.3 深度学习框架简介第一章 绪论 🍉 1.1 在人工智能的大潮里 人工智能——一个如今十分火热的话题,人们在生活中越来越多地使用它、谈论它。在2022年之前,人…

ChatGPT会取代律师这份职业吗?

如今,一种新型的人工智能威胁再次来袭,律师们可能会感到似曾相识的感觉。有人警告称,类似于ChatGPT的软件,因为具有类似于人类的语言流畅性,可能会取代大部分法律工作。 人工智能​的进步曾让人们预测,法律…

Linux 网络扫描工具:nmap,涨知识的时间到了!

在Linux系统中,nmap是一个非常流行的网络扫描工具。它可以用于探测主机和网络上的开放端口、操作系统类型、服务和应用程序等信息。nmap还可以与Ping命令结合使用,以便快速识别网络上的活动主机。本文将介绍如何在Linux上使用nmap和Ping命令进行扫描。 …

服务器部署需要注意的事项

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

在win10系统中使用EasyUEFI修复​Win10+Ubuntu双系统​引导启动项

我安装了Win10Ubuntu双系统,有一天电脑突然坏了开不了机,把硬盘拆下放到别的机器上,发现是直接进入Win10系统,而不是grub选择界面。进F12也找不到ubuntu的启动项。 之前网上的修复方法是: 1. 首先你需要一张ubuntu的…

多智能体强化学习论文导读

Adaptive Value Decomposition with Greedy Marginal Contribution Computation for Cooperative Multi-Agent Reinforcement Learning Dec-POMDP 本文的研究对象是 decentralized partially observable Markov decision process (Dec-POMDP), 我们首先来看一下它和经典的MDP…

用HTTP proxy module配置一个而反向代理服务器

反向代理与正向代理 摘抄:https://cloud.tencent.com/developer/article/1418457 正向代理 正向代理(forward proxy):是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,…