
正文
含包名的JAVA代码编译 含包名的java代码编译软件
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
带包名JAVA源程序手动编译问题
编译TestCell时,因在包mycell下找不到Cell.class所以出错
你可以先用javac Cell.java编译后,建一个mycell文件夹,将生成的Cell.class放入该文件夹,再编译TestCell.java
也可以直接用javac -d . Cell.java编译,这样编译后生成的Cell.class自动位于mycell文件夹下,然后再编译TestCell.java
相关问答
Q1: 如何在命令行模式下编译运行带包的java文件
进入D:\workspace路径下,输入含包名的JAVA代码编译: javac com\A.java com\B.java-d . 红色为源文件路径,蓝色为输出路径。 则在生成两个文件: D:\workspace\com\A.class D:\workspace\com\B.class注意: -d 后面是 空格 + 点点的意思是,在 .java 文件的根目录,为含包名的JAVA代码编译了方便也可以采用: javac com\*.java-d .运行时,在包路径的根目录上运行,比如:在 D:\workspace 路径下,输入: java com.A或 java com/A 如果当前路径是 C:\ 或其他路径,那么编译: javac -cp D:\workspace D:\workspace\com\*.java -d .运行: java -cp D:\workspace com.A 总结 1、把包看成是源文件的一部分,而不是一个路径,这点很重要。
Q2: 用命令行如何编译package中的java文件?
其实解决方案很简单含包名的JAVA代码编译,既然编译器不能根据包名找到A类,那我们就把A类含包名的JAVA代码编译的绝对路径直接告诉编译器不就可以了吗含包名的JAVA代码编译?事实上就是这么做的,具体操作为:在命令行模式下进入F:\test目录,然后运行编译命令javac F:\test\edu\main\A.java,可以成功编译生成A.class文件。(注意:如果不在此目录下执行编译命令的话,就要将f:\test加入到当前的classpath中为make工具提供B.java的位置信息)
接下来就要运行这个class文件了,运行仍然在F:\test目录下执行(注意:如果不在此目录下执行运行命令的话,一定要把F:\test加入到当前的classpath中),命令为:java edu.main.A,很显然,这里就是根据输入的package名称找到对应的class文件,并检验找到的class文件的与输入的包名是否匹配(例如:如果你在edu目录下新建一个test目录,将A.class文件拷贝进去,输入java edu.test.A 的话还是会报错:找不到class文件)。可能有人要问:为什么运行的时候又可以根据包名找到相应的class文件呢?因为运行的时候默认是从当前路径开始搜索的,如果当前路径找不到的话,就在系统的classpath中找,如果再找不到就会报错。
由上面的分析我们可以得出:
(1)在命令行模式下编译java文件时,如果cmd不在该java文件所在的目录下,就要直接指定文件
的绝对路径(javac F:\test\edu\main\A.java),如果在java文件所在的目录下,可以不指定
路径,但是要设置classpath让编译器的make工具找到其他import的类
(2)运行的时候要指出包路径(java edu.main.A),并且一定要在class文件名前带上完整的包名
(edu.main.A),而且该包所在的文件夹(即edu所在的文件夹)一定要在classpath中,这样才
能找到对应的class文件(在包所在的文件夹目录下运行cmd程序或者将该目录加入到classpath
中均可)。
(3)在命令行模式下非直接编译的java,编译器使用make工具根据java文件中的import信息间接找
到引用的java文件,所以一定要注意文件的配置,以及相互之间的位置关系。当然也可以通过
设置classpath提供给make工具,但是如果文件比较多而且相互之间的引用关系比较复杂的话会
比较麻烦。
(4)classpath只能供make工具以及运行class文件时使用,在直接编译的时候不使用classpath信
息,必须在要编译的java文件前带上其绝对的路径名。
Q3: 请教如何用记事本写java有包的代码
package com.sun.java;
public class Test
{
Test()
{
}
}
如上代码前面加个package关键字和包名就行了
保存为Test.java,
cmd下进入文件上一级目录下,输入
javac -d . Test.java
编译成功后自动生成包结构目录
Q4: java中,编译*.java文件生成*.class文件 是在DOS命令下用 javac *.java ,如果是加上包名怎么编译?
假设文件名为 X:\Test.java
文件内容 : package org .test;
public Test(){}
..........................
如果 直接 使用 javac Test.java
1 产生的 Test.class 不能直接运行 要自己新建一个文件夹 org\test 假设 路径为X:\org\test
则Test.class的位置 应该为 X:\org\test\Test.class
2 运行时 这要在 X:\ 下 java org.test.Test
但是可以使用命令 javac -d . Test.java 直接相当于 步骤1
运行时 也是 按照步骤2
-d 表示建立 package org .test; 中的 org.test 对应的文件夹 org\test
. (点) 表示 在当前路径下
含包名的JAVA代码编译的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于含包名的java代码编译软件、含包名的JAVA代码编译的信息别忘了在本站进行查找喔。







