Java命令大全【持续更新】

2 篇文章 0 订阅
2 篇文章 0 订阅

Java命令大全【持续更新】

序言

你好! Java提供了一系列的命令,用于在没有IDE等开发工具的情况下,用windows的记事本或者unix的vim写一些Java代码,虽然大部分的开发都是在IDE的情况下开发的,但是总有一些时候,我们不想浪费空间来安装开发工具;所以在最简洁的系统上,我们依然可以运行一些简单的Java代码;这也是我写这一篇博客的原因所在!

请注意:如果你需要在Windows的cmd或者unix的终端shell上直接输入命令,那么需要配置环境变量,不然就只能进入jdk的安装目录的bin路径输入命令;配置环境变量的方法,请允许我后续整理好再贴上来;

以下命令皆在jdk1.8的环境上测试通过,如果是其它较低版本,可能无法生效;

Java基本命令

0.为了方便大家尝试去实践这个步骤,这里贴上一个基本的HelloWolrd.java的源代码

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

1.Java的编译源代码.java文件成字节码.class文件

javac HelloWorld.java

编译后,会在当前目录生成与HelloWorld.class文件

2.执行这个.class文件

java HelloWorld

输入这个命令后,jre(java运行环境)会调用jvm(Java虚拟机)执行该class文件的字节码,把字节码转换成当前运行的操作系统所支持的二进制文件并执行;这里不再赘述java虚拟机的执行流程;

请注意:javac命令在编译的时候是需要带上文件后缀的,但是java命令在执行的时候是不需要带上后缀的;

3.打包jar包文件(简单的代码很少会用到)

jar -cvf hello.jar HelloWorld.class

这个命令会把后面的class文件打包到前面的jar包里面去,如果有多个class文件,可以在后面以空格的方式追加,如下所示:

jar -cvf hello.jar HelloWorld.class Demo.class  //这里暂时只提供了一个类的代码,所以这里的代码就不要执行了

解压文件到当前目录

unzip hello.jar

因为默认的打包不会在生成的.MF文件中添加启动jar包程序的主类,需要自己添加,所以现在需要先解压出来,这里我用的Mac,安装了解压的命令,类unix系统应该都有类似的命令,安装使用即可;我们的目的就是解压,如果你是安装软件进行解压也是一样的,Windows自带 WinRar解压工具;

接下来,我们要修改解压后生成的META-INF/MENIFEST.MF文件,用vim打开,或者记事本打开编辑;unix命令如下:

vim META-INF/MENIFEST.MF

然后在第三行添加jar包的主类,主类是jar包启动后,虚拟机会去这个主类文件寻找main方法并开始执行;写法如下:

HelloWorld

注意,只需要在第三行加上主类的名字,不需要加上后缀,与执行class文件一样不需要加后缀;

然后保存文件并退出,unix代码如下:因为使用了vim,所以编辑完成后,需要按esc,在输入下面代码进行保存并退出,回车,详细vim命令这里不再赘述,百度上很多:

:wq

接下来是重新打包主类和.MF描述文件,执行下面的命令,Windows用户可以直接右键选中主类的描述文件的所在目录进行压缩;unix系统命令行如下:

jar -cvfm hello.jar META-INF\MENIFEST.MF Hello.class 

最后一步就是执行jar包文件了,代码如下:

java -jar hello.jar 执行jar包程序

Java高级命令

1.生成api文档

javadoc -d doc -encoding UTF-8 -charset UTF-8 *.java

上面的命令可以根据java源代码文件写的注释自动生成html格式的api文档,但是你的注释必须是/**
**/形式的,举例如下:

package com.example;

import com.example.dao.UserDao;
import com.example.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * @author lianchua
 * @version 1.0.0
 * @ClassName Main.java
 * @Description TODO
 * @createTime 2019年09月24日 16:50:00
 */
public class Main {
	/**
	 * mybatis基本查询实现
	 * mybatis实现的基本原理
	 *
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		/**
		 * 把mybatis的xml配置文件转换成输入流
		 */
		InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
		/**
		 * 利用sql的工厂建造器sqlSessionFactoryBuilder对象的build()方法得到sqlSessionFactory对象
		 */
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
		/**
		 * 工厂调用openSession()方法得到SqlSession对象
		 */
		SqlSession session = factory.openSession();
		/**
		 * session对象调用getMapper()方法,传入mapper接口,得到代理的mapper实现对象
		 */
		UserDao mapper = session.getMapper(UserDao.class);
		/**
		 * 代理的实现mapper对象调用具体的mapping配置文件里面的绝体findAll()方法查询,得到查询到的对象
		 */
		List<User> list = mapper.findAll();
		/**
		 * 输出对象
		 */
		System.out.println(list);
		
	}
}

上面是mybatis的入门demo,也是mybatis的实现原理,方法上面的注释,就可以被javadoc命令给识别到;如果是双左斜杠//的方式,就是不行的;

命令详解:
下面两个代码都是生成api文档,不同的是,第一个是带参数的,可以设定编码,和指定目录,第二个则看起来容易出现中文乱码的问题,或者是没有指定目录,生成的十几个文件把整个目录搞得很乱,所以最好还是设定支持中文的编码utf-8和指定输出目录吧;

javadoc -d doc -encoding UTF-8 -charset UTF-8 *.java
javdoc *.java

本次更新到此为止,2019/09/27 星期五;

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值