首页
学习
活动
专区
工具
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 进程并执行相应的命令。:要执行的诊断命令。

15710

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

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

1.6K20
  • 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 文件会被解压缩用于寻找和加载

    62110

    使用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.2K10

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

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

    28620

    MyBatis基础入门

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

    39430

    JAVAJava基础之堆、栈、方法区、加载器——JVM内存模型分析

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

    64310

    JVM集合之类加载子系统

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

    33920

    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),例如: 使用映射器接口实现的完全限定,例如: 将包内的映射器接口实现全部注册为映射器

    60420

    Laravel框架关键技术解析

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

    11.9K20

    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的代理实现

    51020

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

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

    30220

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

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

    38520

    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

    8.9K40

    修复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反序列化漏洞。

    89610
    领券