cmd的javac多个类编译方法

一、不带包的多个类编译

javac之txt文件实现9*9乘法表

文档位置:

Multiplydemo.java位置:

C:\Users\GPJ\Desktop\JavaPath\src\Multiplydemo.java

MultiplyTable.java位置:

‪C:\Users\GPJ\Desktop\JavaPath\src\multiply\MultiplyTable.java

sourcelist.txt位置:

C:\Users\GPJ\Desktop\JavaPath\sourcelist.txt


Multiplydemo.java及MultiplyTable.java及sourcelist.txt具体代码:

public class Multiplydemo{
    public static void main(String[] args){
        MultiplyTable a=new MultiplyTable();
        a.Multi_Method();
    }
}public class MultiplyTable{
    public void Multi_Method(){
           for(int i=1;i<10;i++){
            for(int j=1;j


运行命令:


-d代表生成.class文件放置目标路径,此处为当前路径下的classes文件夹

-sourcepath后跟.java源文件 ,包含Multiplydemo.java和MultiplyTable.java的文件路径的sourcelist.txt文件必须前跟@,src和sourcelist.txt文件在同一级目录下,如下图所示:




运行结果如图:



二、带包的多个类的编译

类为SortTest.java和InsertSort.java
.java源文件所在位置为:
SortTest.java位置:
C:\Users\Administrator\Desktop\javapath\src\sort
InsertSort.java位置:
C:\Users\Administrator\Desktop\javapath\src\sort
.class字节码文件所在位置为:
SortTest.class位置:
C:\Users\Administrator\Desktop\javapath\classes\sort
InsertSort.class位置:
C:\Users\Administrator\Desktop\javapath\classes\sort
如下图:




代码如下:
package sort;
public class SortTest{
    public static void main(String[] args){
        int[] a=new int[]{3,2,5,1};
        InsertSort is =new InsertSort();
        is.InsertAll(a);
    }
}package sort;
import java.util.Arrays;
public class InsertSort{
    private int flag;
    private int temp;
    private int b;
    public void InsertAll(int[] a){
        for(temp=1;tempflag;i--){
                 a[i]=a[i-1];
                }
                a[flag]=b;
            }
        }
        System.out.println(Arrays.toString(a));
    }
}
命令行javac命令如下图:
C:\Users\Administrator\Desktop\javapath>javac -cp ./classes -d ./classes ./src/sort/InsertSort.java

C:\Users\Administrator\Desktop\javapath>javac -cp ./classes -d ./classes ./src/sort/SortTest.java

如果直接编译SortTest.java类会报错,报错如下图:

必须要先编译InsertSort.java类,因为SortTest.java类中main方法要调用sort包下的InsertSort类,所以编译完InsertSort.java后在用-classpath命令指定字节文件InsertSort.class所在的包sort文件夹的位置,之后编译含有main方法的SortTest.java文件就可以编译通过了。

附java命令执行含包的字节文件方法:
两种方法如下图:

java后面要加的是完整的类名,当然也包括包名,即   包名.类名

三、用-sourcepath命令及@<文件名>命令实现多个类的javac编译

源文件为Hello.java、HelloTest.java及sourcelist.txt文件。
文件目录结构如下:
JavaPath-|
   |-src-|
   |     |-lee-|
   |       |-Hello.java
   |        |-HelloTest.java
   |        |-sourcelist.java
   |
   |-classes-|
     |-lee-|
       |-Hello.class
       |-HelloTest.java
源代码如下:
package lee;
public class Hello{
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}package lee;
public class HelloTest{
    public static void main(String[] args){
        Hello h=new Hello();
    }
}src/lee/Hello.java
src/lee/HelloTest.java

命令行窗口命令如下图所示:


猜你喜欢

转载自blog.csdn.net/gooaaee/article/details/71189487