Windows 10命令行下如何使用java和javac来编译执行引入自己外部Java代码或者其他人的jar包代码

首先必须确定一点,那就是已经安装好了JDK。我这里假设大家安装好了JDK。如果大家不知道是否安装好了JDK,那么可以打开cmd使用java -version来试一下。如果在cmd中打上去之后,出现类似下图出现java版本的情况:
java版本显示图片就说明JDK已经安装好了。
若是出现了“‘java’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”这样的提示,如下图的情况,说明JDK没有安装好。
JDK没有安装好的表现如果没有安装好的话,大家可以参考网上的博客文章安装一下。

单个Java源代码编译和运行

我这里先使用的是HelloWorld.java这样一个来当范例,内容如下:

package work.seaside;
public class HelloTest{
     public static void main(String[] args){
           System.out.println("Hello World!");
     }
}

HelloTest.java放到E:\HelloWorld目录下,如下图所示:
在这里插入图片描述接着在HelloWorld目录中,打开cmd
在这里插入图片描述在这里插入图片描述直接在目录栏里边输入cmd,然后按回车键,就可以打开类似下边的命令行。
在这里插入图片描述输入javac HelloTest.java -d .就可以在E:\HelloWorld\work\seaside生成.class文件。在这个命令中,javac是编译指令,HelloTest.java是源文件,-d是命令行参数,表示选择目录,而.表示当前目录。
在这里插入图片描述
在命令行里边输入java work.seaside.HelloTest就可以看到Hello World!的输出,这表明编译和执行成功。
在这里插入图片描述

引用不在同一个目录下自己的源代码

TestingHello.java里边的代码如下:

package work.seaside;
import cn.seaside1234.world.SayHelloToWorld;
public class TestingHello{
     public static void main(String[] args){
          SayHelloToWorld sayHelloToWorld = new SayHelloToWorld();
          sayHelloToWorld.sayHello();
     }
}

TestingHello.java放到了E:\JavaOk目录下,如下图所示:
在这里插入图片描述
它将要引用D:\HelloToWorld目录下的SayHelloToWorld.java。
在这里插入图片描述

SayHelloToWorld.java内容如下:

package cn.seaside1234.world;
public class SayHelloToWorld{
	public void sayHello(){
		System.out.println("Hello,the whole World!");
	}
}

类似于上边在E:\HelloWorld打开cmd一样,在D:\HelloToWorld目录中打开cmd。
在这里插入图片描述

输入“cmd”之后,还需要按一下回车键。
在这里插入图片描述

接下来就进入cmd中。
在这里插入图片描述
使用javac SayHelloToWorld.java -d .进行编译。
在这里插入图片描述

可以看到编译之后,在D:\HelloToWorld\cn\seaside1234\world目录中生成了SayHelloToWorld.class文件,即HelloToWorld目录与SayHelloToWorld.class之间多了cnseaside1234word三级目录。
在这里插入图片描述

类似于上边在E:\HelloWorld打开cmd一样,在E:\JavaOk目录中打开cmd。
在这里插入图片描述
输入“cmd”如下图。
在这里插入图片描述
然后按回车键就可以进入到命令行里边。
在这里插入图片描述
cmd中使用javac -classpath 需要引用的class文件 需要编译的java文件 -d class文件放置目录这个命令来指定需要编译的java文件和class文件放置目录。接下来,我使用"javac -classpath .;D:\HelloToWorld TestingHello.java -d ."将TestingHello.java编译到当前目录(“.”表示当前目录)。
在出现的命令行里边,输入javac -cp .;D:\HelloToWorld TestingHello.java -d .
在这里插入图片描述
可以看到编译之后,在E:\JavaOk\work\seaside目录中生成了TestingHello.class文件,即JavaOk目录与TestingHello.class之间多了workseaside两级目录。
在这里插入图片描述

java -cp .;D:\HelloToWorld work.seaside.TestingHello就可以选择类路径和执行类进行运行。
在这里插入图片描述

引入jar包代码来实现自己的功能

我使用到的jar包,可以到https://repo1.maven.org/maven2/com/beust/jcommander/1.72/jcommander-1.72.jar下载,或者在浏览器里边点击这个超链接进行下载,或者把https://repo1.maven.org/maven2/com/beust/jcommander/1.72/jcommander-1.72.jar复制粘贴到浏览器的地址栏里边然后按下回车键,就可以下载。
https://mvnrepository.com/是maven中央仓库,要是需要什么Jar包,可以到这个网址下载。
在这里插入图片描述

SayHelloToWorld.java里边的内容如下:

package cn.seaside1234.world;
public class SayHelloToWorld{
	public void sayHello(){
		System.out.println("Hello,the whole World!");
	}
}

放到了D:\HelloToWorld里边。
在这里插入图片描述
MainTest.java里边的内容如下:

package work.seaside1234;

import com.beust.jcommander.JCommander;
import com.beust.jcommander.ParameterException;
import com.beust.jcommander.Parameter;
import cn.seaside1234.world.SayHelloToWorld;
public class MainTest{


        @Parameter(names = { "-name" }, description = "the name")
        private String name;

        @Parameter(names = "-age", description = "How old")
        private Integer age;

        @Parameter(names = "-isMarriaged", description = "MarriagedOrNot",arity = 1)
        private boolean isMarriaged = false;

    public static void main( String[] args )
    {
        MainTest mainTest = new MainTest();
        SayHelloToWorld sayHelloToWorld = new SayHelloToWorld();
        sayHelloToWorld.sayHello();
        JCommander jCommander = JCommander.newBuilder().addObject(mainTest).build();

        jCommander.setProgramName("test");

        try {
            jCommander.parse(args);
            mainTest.printCommander();
        }

        catch (ParameterException exception ){
            System.out.printf(exception.toString()+"\r\n");
            jCommander.usage();

        }

    }

    public void printCommander() {
        System.out.println(name+"----"+age+"----"+isMarriaged);
    }


}

放到E:\JarCodeTest里边。
在这里插入图片描述

jcommander-1.72.jar放到了E:\JarDirectory里边。
在这里插入图片描述

跟上边一样,在D:\HelloToWorld目录输入框里边输入cmd,然后按下回车键,就进入了命令符提示行里边。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

javac SayHelloToWorld.java -d .进行编译。
在这里插入图片描述

输入e:,按下Enter,然后输入cd JarCodeTest之后,再按下Enter,就可以进入到E:\JarCodeTest
在这里插入图片描述
javac -cp .;D:\HelloToWorld;E:\JarDirectory\jcommander-1.72.jar MainTest.java -d .进行编译。
在这里插入图片描述

可以看到E:\JarCodeTest\work\seaside1234里边已经生成了MainTest.class
在这里插入图片描述

java -cp .;E:\JarDirectory\jcommander-1.72.jar;D:\HelloToWorld work.seaside1234.MainTest -name javaCode -age 20 -isMarriaged true执行之后输出的内容如下:

Hello,the whole World!
javaCode----20----true

在这里插入图片描述
命令行里边的执行的全部命令如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值