1,使用doc命令进入到该目录
2,在该目录下输入编译命令javac *.java
3,java 命令运行相应的字节码文件
B. Java 同一个包在cmd上多文件编译
javac的编译单位其实就是单个的java文件,为了达到同时编译多个java文件的目的,可以将所需编译的java文件路径保存在一个txt中,比如sourcelist.txt,以换行为分隔符(这个过程称为类文件注册)。这些java文件没有彼此联系的必要,它们可以是隶属不同的包、在不同的文件夹下(当然建议包路径相同的java类文件放在同一文件路径下),javac命令只会一行一行地读取其中的记录,作为一个单位进行类编译。
举例说明。假设你的这个包放在src文件夹下,src的父目录为project,sourcelist.txt也事先新建在project文件夹下。首先将这个包中你需要编译的java文件相对于src的路径(如src\com\test\Test.java)注册到sourcelist.txt文件中;接着在project文件夹中新建一个bin文件夹(或者class文件夹,命名随你乐意取),用以编译后class文件的放置(这个配以javac命令中-d选项去理解);如果还有其他类库(如jxl.jar或者mysql.jar),建议在project目录下新建一个lib(同样命名不限)文件夹,然后复制到该文件夹下(配以-classpath选项理解);最后检查上述准备工作都完成,win + R、输入cmd都不用讲,现在在cmd中用cd命令切换到project目录,然后输入命令:
javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin
现在就很好理解了。-d选项就是destination的意思,即生成class文件被送到该选项后面的bin文件夹;-classpath就是将你要用到的jar包注册到类加载路径中;-sourcepath就是告诉javac命令去哪里找类文件。
最后呢,为了方便,可以在project文件夹下新建一个bat文件,并输入以下内容:
javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin
@pause
这样每次直接点击即可,而你需要编译其他包的或者其他java文件,直接在sourcelist.txt文件中添加或修改。这其实也是一种“弱耦合”、模块化的表现。
C. 如何用javac 编译多个目录中的java文件
根据我个人的经验,只要找到包含主函数的那个类进行编译,如果在主函数内有导入其他用户编写的包,会自动进行编译得到.class文件的。你可以试试看。
D. 同一个文件在不同目录下java编译结果不同
JFileChooser
和你这个ImageViewer 类要放在同一文件夹下面就可以了
E. 怎么把所有java文件夹编译成class文件
如果你是eclipse的java开发环境配置完成,只要点中你eclipse中的项目,右键-》编译就可以了。
如果解决了您的问题请采纳!
如果未解决请继续追问
F. 求解java多目录源码用javac怎么编译
写到一半学校断网,重新手打、、、=_=
以下是我原来写好的部分:
其实我原来也不会,但是看了楼主的问题,我摸索了一下。
首先我在终端里输入javac,弹出了几个参数选项的解释,其中有一个:
-classpath <路径>
所以我猜它应该是可以添加搜索路径之类的参数。
我写了两个java文件,放在两个路径下,其中有主函数的文件为:
package com.test;
import com2.test2.*;
public class testMult {
public static void main(String args[]) {
Mult m = new Mult();
m.a = "asd";
System.out.println(m.a);
}
}
可见我import了一个com2.test2的包,下面是这个包里的Java文件:
package com2.test2;
public class Mult {
public String a;
}
然后我在终端输入了:
javac -classpath /Users/wulin/Documents/workspace/TestMultiDir/src /Users/wulin/Documents/workspace/TestMultiDir/src/com/test/testMult.java
然后编译成功了。
其中值得注意的是classpath添加的路径是包所在的目录,在这里也就是com2所在的目录 /Users/wulin/Documents/workspace/TestMultiDir/src
我用的系统是mac os,所以楼主如果用的是windows,那么路径分隔的符号可能要注意一下。
G. 如何编译java程序
三种方法:
1.在IDE中,如eclipse中写的Java程序,在点击保存后eclipse就会调用javac编译程序编译,编译文件在当前项目的bin目录下。
2.作为一个独立的文件且没有定义Java环境变量,需要在cmd窗口中切换到java bin目录下执行Javac程序,执行格式为javac 空格 Java源文件;如 javac C://hello.java;
3.作为一个独立的文件且定义了Java环境变量,打开cmd窗口,可以在任意目录输入javac java源文件,如javac D://hi.java。
Java也是一种高级语言,要让计算机执行你撰写的Java程序,也得通过编译程序的编译。但是Java编译程序并不直接将Java源代码编译为相依于计算机平台的0、1序列,而是将其编译为字节码。
Java源代码的扩展名为.java,经过编译程序编译之后生成扩展名为.class的字节码。
H. JAVA编译目录
用-d来指定目录,例如:
你所在目录是c:\work
里面有两个目录run和class
将.java文件放在run中,并且保留里面的package class;
进入目录c:\work\run
执行命令javac hello.java -d c:\work
I. java中怎么编译不同文件夹但是相互有关的文件啊
这就是类路径(classpath)问题,楼主肯定还不是很明白包、类路径、import的作用。
简单的说下:
package是用来组织类的,确保类的唯一性;
classpath是提供给javac、java等工具使用的,用来查找加载相关需要的类;
import是用来在类中导入相关类,提供一种简单的书写形式;
如果b.java的package是aa.bb.cc,且编译后的b.class在f:\aa\bb\cc下,那么其classpath就是f:\ ,不在包aa.bb.cc下的其他类引用b.class,如a.java,就要这样aa.bb.cc.b 或 import aa.bb.cc.b 来使用b类,在编译a.java时需要指定类路径f:\ ,javac -cp .;f:\ a.java (其中的 .; 在JDK5+是可选的,它表是的是当前路径) ;
再假设b.java没有package,那么在a.java中使用b类,无需import语句;但classpath就是f:\aa\bb\cc\;这样在编译a.java时指定类路径f:\aa\bb\cc,javac -cp .;f:\aa\bb\cc a.java;
归类就是:如果类指定了package,class文件就必须在package下,而classpath就是根包名所在路径;如上面指定b.java的package是aa.bb.cc,那么b.class必须在aa\bb\cc下,classpath 就是aa目录所在的路径f:\,编译其它使用了b类但不在包aa.bb.cc下的类 就需要告诉编译器b类的classpath ;
J. 如何用javac命令编译一个目录以及子目录下所有的java文件呢
不想一个一个写文件名,就应该想到如何生成命令行。人类进化的动力就是想吃饱又想偷懒。
::Windows
D:Workflow>dir/s/ad>dir.txt
然后用 notepad++ 打开替换命令行。
其实我想吐槽的是,这个年代有几个人还需要手工来执行最原始的命令行。像 ant 就很方便的处理这些东西。用 eclipse 也行啊。
一个 ant 样例:
java-classpathant.jar;ant-launcher.jarorg.apache.tools.ant.launch.Launcher-vbuild.xml
<!--filename:build.xml-->
<projectdefault="compile">
<targetname="compile">
<mkdirdir="bin"/>
<javacsrcdir="src"destdir="bin"/>
</target>
</project>