首页 > 编程语言 >命令行编译和执行java代码

命令行编译和执行java代码

时间:2023-05-04 22:14:59浏览次数:38  
标签:文件 java package 编译 命令行 test class

虽然现在IDE很强大又很智能,但是平常随意写点练手的代码的时候,直接在命令行中使用vim和java命令更为方便快捷,可以做到无鼠标纯键盘的操作。

首先保证将java相关指令添加到了环境变量中;

1.编译class文件:

javac  -d ./ Test.java

编译好的class文件会放置到环境当前目录 (./)中。-d命令的作用是:如果在java文件中定义了package,那么会在当前目录按照package包建立层级的文件夹,例如:package com.demo.test; 那么编译好的test.class文件位于当前目录的com\demo\test目录下。如果不使用-d命令,则无论代码中是否定义package,都会将生成的class文件放在当前目录。

2.运行class文件:

java com.java.test.Test

java命令运行的时候,输入的是类的名称(以及所属的包名),java会到包名对应的目录中找class文件执行。

如果在上一步骤,代码中定义的package,但是编译的时候没有加-d选项,那么在执行的时候直接java+类名的方式执行,报找不到类的错误。

所以,如果代码中定义了package,那么1.编译的时候加上-d选项,2.执行的时候带上包名前缀,jvm就能正确加载指定的类了。

标签:文件,java,package,编译,命令行,test,class
From: https://www.cnblogs.com/wolfsky/p/17372633.html

相关文章

  • Qt6.5编译记录
        Qt6.5的长期支持版释放了,就开始了再次的折腾。首先安装编译环境,官方文档的编译环境链接为:QtforWindows-BuildingfromSource|Qt6.5 可以看到,很清爽,只需要Cmake,Ninja和Python3,不再需要其他的了,而且都提供了链接(但是实际编译时,如果需要编译QtPDF,还是需要Node......
  • 20基于java的科研管理系统设计与实现
    背景及意义目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方......
  • java8新特性理解
    一些关于java8新特性理解引例在java中,考虑实现按学号顺序对学生List进行排序的功能。一.java8以前的实现方式:匿名内部类如果不使用java8的新特性,我们实现该功能通常会使用匿名内部类的方法。importjava.util.*;;classStudent{privateintid;privateStringn......
  • Java String 类
    String类创建字符串最简单的创建方法:Stringstr="Cnblogs";用构造函数创建:Stringstr1=newString("Cnblogs"); String创建的字符串存储在公共池中,而new创建的字符串对象在堆上;Strings1="Cnblogs";//String直接创建Strings2=""Cnblogs;//String......
  • java基础-数组的定义,静动态初始化,数组元素的相关操作、数组的内存图
    一、什么是数组数组指的是一种容器,可以用来存储同种数据类型的多个值。数组容器在存储数据的时候,需要结合隐式转换考虑。例如:int类型的数组容器,只能存储byte、short、int类型的数据。(byte<short<int<long<float<double)例如:double类型的数组容器,可以存储byte、short、int、long......
  • Java设计模式-建造者模式
    简介建造者模式是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通过将复杂对象的构建过程分解为多个简单的步骤来实现。与其他创建型模式不同,建造者模式强调的是将构建过程与表示分离,而不是将对象与其构建方式分离......
  • Java 双指针项目中的实际应用
    背景说明最近在做财务相关的系统,对账单核销预付款从技术角度来看就是将两个数组进行合并对账单核销预付款前提条件:对账单总金额必须等于未核销金额数据示例对账单数据单号金额B0001100B000280B0003120预付款数据单号未核销金额PRE0011......
  • Java学习笔记(九)
    1、代理模式的概念可以为其它对象提供一种代理以控制对这个对象的访问,屏蔽对真实角色的直接访问。2、为什么要重写toString()方法?默认情况下,toString()方法返回的字符串是由对象的类名、“@”符号和对象的哈希码组成的。我们需要重写toString()方法,以便返回更有意义和有用的字......
  • Java练手项目(尚硅谷的),不涉及框架,数据库等。
    软件:idea我是先建立了一个空白的项目,自己创建的src包和其下面的包。问题一:建立包之后发现格式为src.com.tjp.bean没办法建立其他与bean同级的servicetestutilsview等。只允许继续建立bean的子包。解决:这是因为idea自动会折叠空白包。(不同版本的idea可能和我的位置不太一......
  • 5分钟教你配置命令行界面的163邮箱客户端
    网易163免费邮箱相关服务器信息:mutt是命令行下的邮件客户端,它仅是管理邮件的组织编辑,邮件的发送和接收需要调用对应的程序。这里用的分别是getmail和msmtp.步骤如下=====1.安装mutt,getmail,msmtp======================$sudoyum-yinstallmuttgetmailmsmtp2.Bui......