在dos下编译java文件

如果我又class1.java和class2.java,并且我class1.java中还import了class2,它们都放在同一个文件夹里面,那么我在dos下该怎么编译?

在dos下编译java文件用javac命令,javac是用来编译.java文件的。命令行下直接输入javac可以看到大量提示信息,提示javac命令的用法,我只知道常用的。

javac -d destdir srcFile

其中:1、-d destdir是用来指定存放编译生成的.class文件的路径。(若此选项省略,那么默认在当前目录下生成.class文件,并且没有生成包文件夹;当前目录可以用“.”来表示,即:javac -d . srcFile )

注意:添加-d选项除了可以指定编译生成的.class文件的路径外,最大的区别是可以将源文件首行的package关键字下的包名在当前路径下生成文件夹。

2、srcFile是源文件.java文件的路径。

例如:有这样一个简单的java类,路径为E:\test\JavacTest.java:

package com.stopTalking.test;      

public class JavacTest {          

public static void main(String[] args) {       

        byte a = 5;        

        short b = 6;        

        System.out.println("JavacTest [a=" + a + ", b=" + b +  "]");        

    }        

}

当前路径下,输入 javac JavacTest.java ,便在当前路径下生成了一个JavacTest.class的文件,如图:

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-01-28
当两个Java文件在同一个目录中,是不需要import导入的。

当class1.java中用到了class2类,Java虚拟机会自动在当前目录查找class2.class文件,如果没有找到,同样也会在当前目录下查找class2.java文件,找到后会自动编译。也就是说,class1.java中用到了class2类,只需要编译class1.java,它会自动编译class2.java的。

如果你非要导入也行。根据你的错误提示应该是你的导入语句后没加分号导致。
错误在class1.java中的第八行本回答被网友采纳
第2个回答  2012-12-08
javac -d *.java追问

不行

追答

哦 直接 javac *.java 全部编译就行了, 你试试 ,绝对行

追问

不行。

追答

扯 我都试过了 ,你把你写的code贴出来

追问

你看下面那个

追答

import意思是导入其他包中的java文件,你弄一个import B,那么编译器,就会从根目录去需找B这个包,也就是B这个文件夹,但是B是一个类文件,然后就出错了呗;你可以把这两个类放到同一个文件夹下,比如test,然后你加入import test.B;这样在进入test文件夹下,执行javac *.java,然后就行了。注意:在如果是放在test文件夹下,上面要加上 package test;不然会出错;因为package相当于目录

追问

如果类A和B在同一个文件夹下我就不能写import test.B,不过我觉得你的解释还是很有道理的,我看看没别的答案我就给你满意了。

追答

比如在D:/test文件夹下建类A.java B.java
------------------------------
package test;
import test.B;
public class A{
public static void main(String[] args){
B b=new B();
b.show();
}
}
-------------------------
package test;
public class B
{
public void show(){
System.out.println("hello world");
}
}
---------------------------
编译时进入D;/test下:javac *.java;
运行时进入D盘:(注意进入的是D盘,而不是d:/test,因为程序中有package test;这个指令)
java test.A;
好好理解一下package和import作用;
还有,你以为我回答你问题就是要你分的吗?

本回答被提问者采纳
第3个回答  2012-12-08
试下java 和 javac 能运行才行
第4个回答  2012-12-08
报错提示是什么?追问

class1.java:8:错误:需要'.'
import class2
class1.java:8:错误:需要';'
import class2

追答

语法错误吧。提示没加分号。

相似回答