dos或unix下运行java程序

在dos或unix下运行包含若干个包结构的某个java程序时,一般会提示其中引用到的其它包中的类为:cannot resolve symbol,请问这种情况下如何解决?比如:
package a.b中引用了Class A,它又引用了package a.c的类B
那如果在package a.b中用:javac A.java就会报错,应该如何编译呢?谢谢!

javac是编译你的java文件,编译后的java文件,是创建了包名的一个文件路径,比如你直接执行javac A.java,那么会在当前目录下创建如下class文件:a/b/A.class,而当你执行java命令的时候,如果还在当前目录下执行java命令就会报错,因为在当前目录下,并不能找到A.class。当越包引用的时候,如题。那么在执行javac A.java到时候,编译器会寻找a/c/B.class文件,如果你没有编译B.java文件,那么就不会存在a/c/B.class文件,就会报错了。所以在执行javac A.java的时候,要首先编译该类调用的其它包中的所有文件。这样会很麻烦是吧?sun还有一个编译工具叫Ant,这个东西可以比较轻易的解决这个问题,具体Ant的使用就自己查资料吧。事实上各种的编译软件都是使用Ant编译的。除非他自己写一个类似功能的软件。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-01
问题解决方法:
1、确保类中所引用的其他包下的类已导入对应的包名
2、你在dos或者linux环境下运行,首先要先编译当前类所引用的其他类,然后再编译当前类
dos或Linux运行Java条件:
1、要安装Java环境,即jdk版本
2、安装好后配置Java环境变量
3、最终达到一次编译,到处运行的特性
第2个回答  2015-10-28

    javac是编译java文件,编译后的java文件,是创建了包名的一个文件路径,比如直接执行javac A.java,那么会在当前目录下创建如下class文件:a/b/A.class

    2当执行java命令的时候,如果还在当前目录下执行java命令就会报错,因为在当前目录下,并不能找到A.class。

    当越包引用的时候,如题。那么在执行javac A.java到时候,编译器会寻找a/c/B.class文件,如果没有编译B.java文件,那么就不会存在a/c/B.class文件,就会报错了。所以在执行javac A.java的时候,要首先编译该类调用的其它包中的所有文件。

    sun还有一个编译工具叫Ant,这个东西可以比较轻易的解决这个问题,具体Ant的使用就自己查资料吧。事实上各种的编译软件都是使用Ant编译的。除非他自己写一个类似功能的软件。


第3个回答  2010-01-26
在javac的命令行中可以设置classespath,也可以在环境变量中进行设置。
如果你的编译是在windows的dos命令行里运行的话这个DOS已经不是真正的dos了,应该说是一个模拟器。
第4个回答  2010-01-27
设置环境变量classpath,把你的包所在位置添加进去应该就可以了

java command line 编译问题
如果是在CMD、DOS、unix中,可以建立一个如入RUN.BAT文件于JAVA程序的同一目录,在文件中将所有命令事先输入 例如:javav mian.java aaa.java bbb.java java mian \/\/如果你还想自动运行建立好的程序的话,这是我的个人变成习惯 之后保存关闭,然后输入RUN文件名无需后缀。然后所有的命令就会自动运行 ...

我安装了JDK1.7,cmd键入命令javac说“javac不是内不命令,也不是可运行...
Linux\/Unix系统下: export CLASSPATH=?$CLASSPATH:\/path\/to\/program Windows系统下: set CLASSPATH = %CLASSPATH%;c:\\path\\to\\program 二、设置Java环境 要想方便的开发和运行Java应用程序,我们需要设置两个环境变量,一个path一个classpath。设置好path变量,使得我们能够在系统中的任何地方运行jav...

为什么程序可以在windows和dos运行不能在unix运行
windows和dos都是微软公司的系统,凡是可以在DOS下跑的在WINDOWS下都能跑,而UNIX是另一套系统了,架构都不一样的

程序运行那个黑框是怎么来的
你可以做一个实验:用C语言写一个Hello Word程序,然后到DOS去运行,它绝对不会跳出一个黑框框的,Hello Word就直接显示在屏幕上了。而我们写的窗体工程,那个窗体才真正就是我们自己程序的界面。你说怎么在窗体上看显示结果,这个简单,就是在窗体上把你要的东西画出来,其实系统就是这么干的,只是封...

UNIX环境下用Java如何生成DOS格式的纯文本文件.txt?
写入文本文件时指定文件编码为GBK试试。每行结尾换行都输入\\r\\n。

游戏编程
如果你准备在 DOS 下开发程序,你最好使用免费的 DJGPP。 3、选择一个目标平台 虽然你可能最终会为各种平台开发程序,你还是应该选择其中之一进行学习。当你学习语言的时候,在没进入图象编程之前,你大概想使用一个非 GUI 的操作系统,比如 DOS 或 UNIX。这有助于你将注意力集中在语言学习上,从而避开一些高层的问题...

...自考上机 提供什么开发工具吗? Java语言程序设计(一)
1、JDK (Java Development Kit)Java开发工具集 从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java (J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂...

电脑开始菜单中的运行,需输入运行命令才能执行相关操作,而那些运行命 ...
forcedos.exe 强制文件在DOS模式下运行 ftp.exe FTP下载 gpedit.msc 组策略 gdi.exe 图形界面驱动 grpconv.exe 转换程序管理员组 hostname.exe 显示机器的Hostname Internat 输入法图标 iexpress 木马捆绑工具,系统自带 ieshwiz.exe 自定义文件夹向导 iexpress.exe iexpress安装包 iisreset.exe 重启IIS服务(未...

C语言编出的程序都是在DOS下运行的,那Windows这的程序和C语言有什么...
C语言写的程序可以在dos、windows、linux、unix等等各种操作系统上运行,程序能不能在一个操作系统上运行关键在于编译器而不在于程序语言本身 比如c语言写的程序如果用vc6.0编译可以在dos和windows运行但不能在linux上运行,而如果采用gcc编译则可以在linux上运行但不能在dos和windows上运行,如果采用arm-...

...那么C语言的跨平台特性和java的跨平台特性有什么不同?
标准C和标准C++都是源代码级跨平台的, 也就是说你用标准C\/C++写的代码在windows下编译后就可以windows下运行, 在unix\/linux下编译后就可以在unix\/linux下运行.c语言能跨平台主要因为各个平台包括DOS,Windows,Linux,UNIX等都有c编译器,只要源代码相同,编译器编译出来的二进制文件就会实现相同的功能(...

相似回答