Linux下编译Java代码---javac和java命令的使用

一、编译单独一个java程序

Hello.java

xl@ubuntu:~/java$ javac Hello.java        //在当前目录下产生Hello.class文件

xl@ubuntu:~/java$ ls
Hello.class  Hello.java
xl@ubuntu:~/java$ java Hello            // 执行Hello.class
Hello World!

二、编译一个带包的java程序

Hello.java

 

xl@ubuntu:~/java$ javac Hello.java              //  在当前目录下产生Hello.class文件
xl@ubuntu:~/java$ ls
Hello.class  Hello.java

xl@ubuntu:~/java$ java Hello                      // 在执行的时候显示找不到Hello这个类,原因是因为程序中包含包hello.world,执行类的时候回去按照这个包的路径来找。因此我们用下面的命令来执行。
Error: Could not find or load main class Hello

xl@ubuntu:~/java$ javac -d . Hello.java       //  参数-d 指定生成class文件的位置
xl@ubuntu:~/java$ ls                                    // 此时我们看到在当前目录下生成了一个目录hello/world/        
hello  Hello.java
xl@ubuntu:~/java$ tree hello/ 
hello/
└── world
    └── Hello.class
1 directory, 1 file

xl@ubuntu:~/java$ java hello.world.Hello   // 执行类的时候需要带上路径
Hello World!

三、同一个包下,一个类调用另一个类

Lance.java 

xl@ubuntu:~/java$ javac -d . Lance.java                // 参数-d . 表示在当前目录下产生hello/world/目录。并且生成Lance.class
xl@ubuntu:~/java$ javac -cp . -d . Introduce.java   //  参数-cp . 表示按照 hello.world.Lance的路径寻找类,并且编译Introduce.java。此时在当前目录下产生hello/world/目录,并且生成Introduce.class
xl@ubuntu:~/java$ tree hello/
hello/
└── world
    ├── Introduce.class
    └── Lance.class

1 directory, 2 files
xl@ubuntu:~/java$ java hello.world.Introduce 
hello world! my name is lance


四、一个包下的类调用另一个包下的类

 

xl@ubuntu:~/java$ javac -d . Lance.java    // 参数-d . 表示在当前目录下产生 hello/world01/目录。并且生成 Lance.class
xl@ubuntu:~/java$ javac -cp . -d . Introduce.java   //  参数-cp . 表示按照 hello.world01.Lance的路径寻找类,并且编译Introduce.java。此时在当前目录下产生hello/world02/目录,并且生成Introduce.class
xl@ubuntu:~/java$ tree hello/
hello/
├── world01
│   └── Lance.class
└── world02
    └── Introduce.class


2 directories, 2 files
xl@ubuntu:~/java$ java hello.world02.Introduce  // 执行Introduce类的时候需要指定路径
hello world! my name is lance

http://blog.csdn.net/wen294299195/article/details/39964971

https://blog.csdn.net/u010318270/article/details/54933123

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值