首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在执行主类时使bash自动完成java限定类名?

在执行主类时,可以使用bash的自动补全功能来完成Java限定类名。以下是一种实现方式:

  1. 首先,确保你的系统已经安装了bash自动补全功能。大多数Linux发行版默认都会安装bash自动补全功能,但如果你的系统没有安装,可以通过包管理器进行安装。
  2. 打开终端,并进入你的bash配置文件。在大多数Linux发行版上,配置文件是~/.bashrc~/.bash_profile
  3. 在配置文件中,找到或创建一个名为complete的函数。这个函数用于定义自动补全的规则。
  4. complete函数中,添加以下代码来定义Java类名的自动补全规则:
代码语言:txt
复制
complete -f -X '!*.java' java

这行代码的含义是,对于java命令,使用文件名的自动补全规则,并且只补全以.java结尾的文件。

  1. 保存并关闭配置文件。
  2. 重新加载bash配置文件,使更改生效。可以通过执行以下命令来重新加载配置文件:
代码语言:txt
复制
source ~/.bashrc

代码语言:txt
复制
source ~/.bash_profile
  1. 现在,当你执行java命令并输入部分限定类名时,按下Tab键,bash会自动补全类名。

这样,你就可以在执行主类时使用bash的自动补全功能来完成Java限定类名了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

怎么用JDK自带工具进行JVM内存分析

下面是一般的步骤:使用 jps 查看 Java 进程的 PID:bash 代码解读复制代码jps -l这将列出所有 Java 进程的 PID 和主类名。...常用的选项包括:-q:仅显示进程的 PID,不显示对应的主类名。-m:显示传递给主类的参数。-l:显示主类的全限定名,通常用于区分具体的 Java 应用程序。-v:显示传递给 JVM 的参数。...-q要显示主类的全限定名,可以使用 -l 选项:bash 代码解读复制代码jps -l如果要显示传递给主类的参数,可以使用 -m 选项:bash 代码解读复制代码jps -m如果要显示传递给 JVM...Java 进程的 PID(进程标识符)或者主类名。...如果提供了 PID,则直接操作对应的 Java 进程;如果提供了主类名,则 jcmd 会尝试找到匹配的 Java 进程并执行相应的命令。:要执行的诊断命令。

21510

全网最全、最新MyBatis框架核心知识,收藏这一篇就够了!

定位的这个接口,而不是这个xml配置文件                    【全限定名称】 = 包名 + 接口名(类名)        名或者列名 10.封装MyBatis输出结果 MyBatis执行完sql,怎么将sql语句的执行结果变成一个java对象。...当你的列名和属性名不一样时,一定使用resultMap。这个返回值类型主要解决列名和属性名不一样的问题。...下边代码中存在一个小技巧id > 0,这个代码的作用是为了:使当输入的name不满足条件时可以拼接出正确SQL语句。因为表中的所有id都是大于0的 ,不影响查询结果。...MANAGED:由容器来管理事务的整个生命周期(如 Spring 容器)。 14.3.2 自动提交事务 设置自动提交的方式,factory 的 openSession() 分为有参数和无参数的。

1.8K20
  • 05 Java 类和对象

    , 相应的成员变量为类变量 类变量的访问形式 在本类中直接访问:count 通过类名访问:User.count 不建议通过类的一个对象访问,如:x1.count, 实际上还是通过类名的方式访问 给类变量赋初值...默认赋值即可,也可以用静态初始化代码块 static{count=100;} // 静态初始化代码的执行是在main方法执行前完成。...使用类的完全限定名 :new java.util.Date() 用 import 语句加载需要使用的类。...例: import java.util.Date; 然后在程序中可以直接通过类名创建对象, 如:new Date(); 用 import 语句加载整个包, 用*号代替类名位置。...总结来说,import 是编译时概念,用于确定完全限定名,在运行时,只根据完全限定名寻找并加载类,编译和运行时都依赖类路径,类路径中的 jar 文件会被解压缩用于寻找和加载类。

    63710

    使用JDK自带工具进行JVM内存分析之旅

    下面是一般的步骤:使用 jps 查看 Java 进程的 PID:jps -l这将列出所有 Java 进程的 PID 和主类名。...常用的选项包括:-q:仅显示进程的 PID,不显示对应的主类名。-m:显示传递给主类的参数。-l:显示主类的全限定名,通常用于区分具体的 Java 应用程序。-v:显示传递给 JVM 的参数。...例如,要显示当前系统中所有 Java 进程的 PID 和对应的主类名,可以直接运行 jps 命令:jps如果要仅显示 PID,可以使用 -q 选项:jps -q要显示主类的全限定名,可以使用 -l 选项...(进程标识符)或者主类名。...如果提供了 PID,则直接操作对应的 Java 进程;如果提供了主类名,则 jcmd 会尝试找到匹配的 Java 进程并执行相应的命令。:要执行的诊断命令。

    1.7K10

    如何自定义一个starter,你学废了么?

    Spring Boot通过一些默认的配置属性和约定来自动完成一些常见的配置工作,如自动配置数据源、自动配置Web服务器、自动配置日志等。...@EnableAutoConfiguration注解是用来开启自动装配的功能,该注解通常放在应用的主类上。...spring.factories文件是一个位于META-INF目录下的配置文件,其中定义了各个自动装配类的全限定名。...当Spring Boot启动时,会加载classpath下的所有spring.factories文件,并根据其中定义的自动装配类的全限定名,将其实例化并添加到Spring应用上下文中。...存在时,则实例化当前Bean @ConditionalOnClass:当给定的类名在类路径上存在,则实例化当前Bean @ConditionalOnMissingClass :当给定的类名在类路径上不存在

    30720

    【Java 基础】类和对象(构造&this&封装&static&代码块)

    如:空指针异常 2. 构造方法 2.1 定义构造方法 构造方法(也称为构造器)是一个特殊的成员方法,使用关键字new实例化新对象时会被自动调用, 用于完成初始化操作。...4.1 访问限定符 作用:访问权限用来控制方法或者字段能否直接在类外使用 【Java提供的四个访问限定符号如下】 权限修饰符:在Java中,权限修饰符指的是所修饰的属性、方法或者类可见的范围有多大。...注:构造块会在创建对象时被调用,每次创建时都会被调用,优先于类构造函数执行。...(JVM要执行主方法,首先要加载主类,主类一加载,静态块就执行了) public class Test { static { System.out.println("主类的静态代码块...静态成员变量是类的属性,因此是在JVM加载类时开辟空间并初始化的 如果一个类中包含多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次执行(合并) 实例代码块只有在创建对象时才会执行 7.

    15510

    MyBatis基础入门

    该使用方式的具体做法如下: (1)在查询配置文件CategoryMapper.xml中,把mapper元的namespace属性指定为一个映射器接口(CategoryMapper)的完全限定类名。...为实体类提供别名(简称)         上述的很多元素的resultType属性都声明了实体类的完全限定名,冗长的类名实在不方便。...我们可以在主配置文件的开头加入“类型别名”声明,通过来指定完全限定类名的简称,以简化类名的书写。...另外,还可以通过元素,直接定义包名,所有没有指定包名的实体类,都以此为默认包。...实现主键自增长         在许多数据库管理系统中(如MySQL和SQL Server),可以把在建表时把主键定义为自增长的整数,插入数据时不需要提供该主键,由数据库维护其自增长逻辑。

    40330

    JVM集合之类加载子系统

    ★解析的执行过程等后边讲到字节码文件时再做具体解释。 ” 初始化(Initialization) 初始化阶段就是执行类构造器方法 ()的过程。...此方法不需要定义,是javac编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并而来。构造器方法中的指令按语句在源文件中出现的顺序执行。...在编写自定义类加载器时,如果没有太过于复杂的需求,可以直接继承URLClassLoader类,这样就可以避免自己去编写findClass()方法及其获取字节码流的方式,使自定义类加载器编写更加简洁。...,必须使用全限定类名,如:com.smart.bean.Car。...参数name为字节数组对应的全限定类名。 Class findSystemClass(String name):从本地文件系统加载Class文件。如果本地系统不存在该Class文件。

    34520

    「JAVA」Java基础之堆、栈、方法区、类加载器——JVM内存模型分析

    Java堆:是在虚拟机启动时创建的一块内存区域,是被所有线程共享的,因为要通过其中的存储的对象调用方法和属性。...Java的自动垃圾回收机制: 在Java中,程序员就不需要再像C/C++语言中的那样再去手动控制内存的释放,由GC自动的、不定时的去回收垃圾对象,当JVM发觉内存资源紧张的时候,就会自动地去清理无用对象...,那么是以什么来判断是不是同一个类的的依据呢,那便是类的全限定类名(就是:包名.类名),类加载工作由ClassLoader及其子类负责,ClassLoader负责查找和载入class字节码文件,JVM运行时会创建...也有称为根加载器的,是被嵌入到JVM中的,是用C++编写的,主要负责加载JAVA_HOME/lib目录下的类库,如rt.jar、charset.jar等,该加载器无法被应用程序使用,它是由JVM调用的,...当一个类加载器接到一个类加载请求时,会先检查是否加载过,若没有它会把请求转给父类加载器的loadClass()去完成,层层皆是如此,所以所有的加载请求都会传到最顶层的类加载器中; 若是父加载器不存在,会使用根加载器

    66210

    Mybatis笔记(1)

    插入操作时,需要手动将实体的数据设置到sql语句的占位符位置 方案 ①使用数据库连接池初始化连接资源 ②将sql语句抽取到xml配置文件中 ③使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射...mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。...最后mybatis框架执行sql并将结果映射为java对象并返回。...采用ORM思想解决了实体和数据库映射的问题,对jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与jdbc api 打交道,就可以完成对数据库的持久化操作。...5.1.2 mapper标签 该标签的作用是加载映射的,加载方式有如下几种: 使用相对于类路径的资源引用,例如: 使用完全限定资源定位符(URL),例如: 使用映射器接口实现类的完全限定类名,例如: 将包内的映射器接口实现全部注册为映射器

    62720

    MyBatis+Spring MVC开发指南(一)前言没有MyBatis之前MyBatis框架的架构Quick StartMapper代理开发关于自增主键返回关于动态SQL

    第三,我们说SQL结果集要完成到JAVA对象的映射,那么根据反射的原理,我们都能猜到必须要提供带包路径的全限定名称,那么为了简化,提供标签进行别名映射处理。...当然批量映射的别名就是类名。 第四,需要标签加载SQL文件。同上面一样,也提供了基于包扫描的批量加载。 log4j.properties: ?...这里暂且使用全限定类名。 第二,等SQL Command标签需要一个ID,还需要输入参数parameterType,输出参数映射resultType等。...第三,${value} VS #{xxx} 其实2者,都可以接受JAVA简单类型,如int,也可以接受POJO,Map等复杂类型。...调用方式 从这里,你应该可以看出Mapper的开发应该遵循一些规范,这样MyBatis才可以自动帮助我们生成XXXMapper类的代理实现类。

    52720

    Laravel框架关键技术解析

    ) C.PHP中的特殊语法 1.魔术方法:通常用户不会主动调用,而是在特定的时机被PHP系统自动调用,可以理解为系统事件监听方法,在事件发生时才触发执行。.../控制器方法名/路由参数”,如/home/index/xiaoming,会找到HomeController的getIndex($name)方法,anyIndex可以不限制请求方式,驼峰名方法如getHomeIndex...,这里需要与composer的自动加载类进行区别;二是完成外观自动加载类中的自动加载函数的添加。...,服务提供者相当于神经系统 2.服务提供者首先需要将各个功能模块具备的功能注册到服务容器中,当需要完成某些功能时,服务容器会通过服务提供者注册的服务完成相应的准备,然后会调用准备好的功能模块实现相应的功能...,如果再次生成就会返回第一次生成的实例对象 7.还有一种形式,即绑定具体类名称,本质上也是绑定回调函数的方式,只是回调函数是服务容器根据提供的参数自动生成的,如:$app-bind(XXX::class

    12K20

    jdk和jvm区别_java中集合和数组的区别

    执行引擎用于执行指令,不同的java虚拟机内部实现中,执行引擎在执行Java代码的时候可能有解释执行(解释器执行)和编译执行(通过即时编译器产生本地代码执行,例如BEA JRockit),也有可能两者兼备...方法区存放的信息包括:A 类的基本信息: 1.每个类的全限定名 2.每个类的直接超类的全限定名(可约束类型转换) 3.该类是类还是接口 4.该类型的访问修饰符 5.直接超接口的全限定名的有序列表...B 已装载类的详细信息 1.运行时常量池:在方法区中,每个类型都对应一个常量池,存放该类型所用到的所有常量,常量池中存储了诸如文字字符串、final变量值、类名和方法名常量。...(存的可能是个普通的字符串,然后经过常量池解析,则变成指向某个类的引用) 2.字段信息:字段信息存放类中声明的每一个字段的信息,包括字段的名、类型、修饰符。...字段名称指的是类或接口的实例变量或类变量,字段的描述符是一个指示字段的类型的字符串,如private A a=null;则a为字段名,A为描述符,private为修饰符。

    30820

    JavaSE 语法基础--- 泛型(基础知识问答)

    Java中的泛型是什么 ? 使用泛型的好处是什么? Java中的泛型是 JDK5中引入的一个新特性,泛型提供了编译时类型检查的机制,如果数据类型不是指定的类型的话编译时就会报错。...当编译器对带有泛型的java代码进行编译时,它会去执行类型检查和自动推断,与泛型相关的信息会被擦除掉,生成普通的不带泛型的字节码文件,这种普通的字节码可以被一般的 Java 虚拟机接收并执行,这在就叫做...类型, 如果指定了上限如 则类型参数就被替换成类型上限。...泛型类 泛型类的定义语法 class 类名{ private 泛型标识 变量名; } 泛型类的使用 泛型类在创建对象的时候,来指定操作的具体数据类型...类名 对象名 = new 类名() jdk1.7之后,后面 能够自动推断,所以可以省略不写 泛型接口 泛型接口的定义语法 interface 接口名<泛型标识,泛型标识

    39920

    修复weblogic的JAVA反序列化漏洞的多种方法

    执行修改后的stopWebLogic.cmd脚本并抓包。 使用Wireshark对数据包进行分析 在完成了针对weblogic停止脚本调用过程的抓包后,使用Wireshark对数据包进行分析。...执行下面的代码时需要将weblogic.jar添加至JAVA执行的classpath中,否则会抛出ClassNotFoundException异常。 上述代码的执行结果如下。 #!...因此可以限定只允许特定服务器访问weblogic服务器的T3协议,能够修复weblogic的JAVA反序列化漏洞。即使今后发现了weblogic的其他类存在JAVA反序列化漏洞,也能够防护。...在weblogic所在服务器安装web代理应用,如apache、nginx等,使web代理监听原有的weblogic监听端口,并将HTTP请求转发给本机的weblogic,可以修复JAVA反序列化漏洞。...在weblogic所在服务器安装web代理应用,如apache、nginx等,使web代理监听原有的weblogic监听端口,并将HTTP请求转发给本机的weblogic,可以修复JAVA反序列化漏洞。

    93010

    【JAVA-Day22】深度解析 Java 的包机制

    深度解析 Java 的包机制 博主 默语带您 Go to New World....是主包,它包含了两个子包 mainpackage 和 util,每个子包中都有相应的Java类文件。...在Java中,包的目录结构通常与包名相对应,这意味着每个包应该对应一个目录。这种对应关系有助于组织和管理代码,并使包名与文件系统的目录结构保持一致,使代码更易于维护和理解。...这种包名和目录结构的一致性使得可以轻松地找到和组织源文件,同时还有助于避免命名冲突。当使用IDE(集成开发环境)时,通常会自动创建符合包结构的目录和文件,从而简化了项目的管理。...Java的包机制允许多个包中有相同名称的类或接口,但通过使用完整的包名限定符,可以区分它们,确保正确的类或接口被引用。

    15110

    Java命令行运行错误: 找不到或无法加载主类

    一、 问题分析 找不到或无法加载主类,主要原因有两个: 1. 类名错误 2. 类所在位置未添加至类加载路径中 二、 问题解决 本部分将针对在“一”中提出的两个问题发生原因,分别进行分析及处理。...并且会介绍java的一些和处理问题相关的基本概念。 1. 类名错误 全限定类名:包名+类名。...另外,当包名为空时(即代码不包含package语句),称类所在包为默认包 例如,以下代码的全限定类名为:“com.gzn.demo.HelloWorld” // 文件名HelloWorld.java...在Windows操作系统的命令行下,运行Java代码的语法格式为,注意,此时java命令位于目录com的上一级目录(一般为项目的目录名);类名不能包含扩展名.class: Java 全限定类名 例如...可能出错情况二 :运行Java命令时未指明全限定类名的包名部分或指明了包名但Java命令运行的位置不正确 假设HelloWorld.class,包名为com.gzn.demo,所在位置为: C:\Users

    10.1K40
    领券