在dos中编译java文件
首先Dos中 编译java文件是:javac (所有)类名.java 运行java文件是:java 包名.类名
java指令默认在寻找class文件的地址是通过CLASSPATH环境变量中指定的目录中寻找的。
java执行class文件是根据CLASSPATH指定的地方来找。如果希望它查询当前目录,需要在CLASSPATH中加入“.;”,
代表当前目录。若classpath中没有此class文件的路径就不能执行(比如将class文件随意移动后)就不能执行。
java执行class文件对package的路径是强依赖的。它在执行的时候会严格以当前用户路径为基础,
再按照package指定的包路径转化为文件路径去搜索class文件。
若移动了java文件(class文件),则可以到Classpath中暂时新建一个路径(文件所放位置),再到Dos中编译执行
第一种编译方法( 编译直接生成class 文件,执行需先创建包的路径)
同一个包里有多个java文件,比如pim包里有 Date.java PIMAppointment.java PIMContact.java
PIMEntity.java PIMNote.java PIMTodo.java 这7个java文件
- 且PIMManager.java 调用了其他6个java文件中的类,则在DOS窗口编译时必须同时编译用到的所有类所属的java文件,
- 编译完成后要运行java程序:<span style="color:#ff0000;">切记Dos中为 java 包名.类名 只用到第一个执行程序的类名
- 当有包路径时(本例为pim)因此,我们需要返回到包名的上一个目录中Hw2中来执行 java pim.PIMManaget
- 当没有包路径时,我们在pim包里创建一个文件夹,命名为(路径名,若有多层路径则要创建多个文件夹)pim再将生成的class文件移进去,
- 则我们在Hw2\pim目录下就有7个java文件和一个文件夹(叫做pim),文件夹中有class文件,那么我们就可以在
执行 java pim.PIMManager
即从用户路径+包路径去查找class文件
- 第二种编译方法( 编译直接生成包的路径)
- 假设当前目录为/src/java/ ,则编译命令为:
- javac -d . HelloWorld.java
- 说明:"." 为指定编译路径为当前目录;生成的HelloWorld.class 所有目录为/src/java/a/b/HelloWorld.class 。
- javac -d c/d HelloWorld.java
- 说明:c/d 为指定编译路径为/src/java/c/d ,同样也可以写成绝对路径如javac -d d:/ HelloWorld.java ,
- 前提是路径必须先存在;生成的HelloWorld.class 所有目录为/src/java/c/d/a/b /HelloWorld.class 。
- 假设当前目录为/src/ ,则编译命令为:
- javac -d . java/HelloWorld.java
- 说明:生成的HelloWorld.class 所有目录为/src/a/b/HelloWorld.class 。
- javac -d java/c/d java/HelloWorld.java
- 说明:生成的HelloWorld.class 所有目录为/src/java/a/b/HelloWorld.class 。
- 第三种编译方法(先把源文件按照包结构放到指定的目录中,然后执行编译命令)
- 假设当前目录为/src/java/,先在目录中创建目录/a/b,然后编译命令:
- javac a/b/HelloWorld.java
- 下面总结一下对于带包的类进行编译和执行时的一些要点:
- 1、编译时可以不考虑包结构的问题,不论用哪种方法,其实本质都是一样的,只需要让javac命令找到所需要编译的原文件(*.java)即可。
在dos中编译java文件的更多相关文章
- Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包
一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...
- 在dos中运行java程序,若出现Exception in thread “main" java.lang.NoClassDefFoundError
在dos中运行java程序,若出现Exception in thread “main" java.lang.NoClassDefFoundError,可以检查一下几项: 环境变量配置: 注意 ...
- Eclipse不自动编译java文件的终极解决方案
最近我的eclipse经常犯傻,项目中总是有很多,启动项目也是没有启动类.查了下项目中生成的class文件,我靠竟然没有,或者还是以前的.原来是eclipse犯傻了,它没帮我自动编译java文件.一般 ...
- Eclipse不能自动编译 java文件的解决方案
前段时间出现了eclipse 不自动编译java文件的问题,在网上找了好长时间,总算把问题解决了,现在把这个问题的解决方法总结一下. 1,看看project -- Build Automaticall ...
- 在ant编译java文件时产生debug信息
使用ant编译java文件时,如果没有设置debug属性,则不会产生编译信息,ant的默认设置是不打印编译信息. 如果想在编译过程中显示编译信息,需设置debug属性为true,并且设置debugLe ...
- 如何手动编译java文件
1,在编辑框中,将目录切至java文件所在的地址 如图 2,开始编译java文件 用命令javac 编译目标java文件,文件需带后缀名 ; 用java 执行class, 此时class文件无需带后缀 ...
- java_基础——用代码编译.java文件+加载class文件
[本文介绍] 本文不是深入理解和使用java编译器,只是在代码里编译.java文件的helloWorld.这种技术还是蛮有意思的,说不定在将来的某些只能化项目会运用到!^_^ [简单编译的流程] [j ...
- 在用mvn编译java文件时遇到问题
问题一:找不到加载主类 为什么会出现这类加载失败的问题那??? 一看这个问题就是环境变量配置有问题,找到问题解决就ok了!!! 问题二:无法用mvn编译java文件 这个问题是由于pom.xml文件出 ...
- 30天轻松学习javaweb_通过javac编译java文件
通过javac编译java文件1.先导入需要引用的包D:\Program Files (x86)\apache-tomcat-7.0.53\webapps\test\WEB-INF\classes&g ...
随机推荐
- Linux查看硬件配置
1.查看机器所有硬件信息:dmidecode |moredmesg |more 这2个命令出来的信息都非常多,所以建议后面使用"|more"便于查看 2.查看CPU信息 方法一: ...
- <读书笔记>《Web前端开发最佳实践》
P77 P89 CSS Reset P94 给CSS样式定义排序 排序工具:CSScomb P97 什么是CSS的权重?权重是指选择符的优先级 P100 工具:Sass Less P101 框架 ...
- CodeForce-1196D1-RGB Substring (easy version)
原题链接 题目大意: 给出一串由'R', 'G', 'B'组成的长度为n的字符串,在里面选出一个长度为k的子串,要求在改变最少字符的情况下同时也是"RGBRGBRGB…"的子串. ...
- 面试题40:最小(大)的K个数
剑指offer40题,同时这也是面试高发题目 2019.4 蚂蚁金服问道:求1000万个数据中的前K个数. 思路: 1.直接上排序算法,然后我们就取排好顺序的前K个即可.但是单考虑快排,时间复杂度也要 ...
- Android深度探索-卷1第六章心得体会
这章主要介绍了第一个linux驱动程序:统计单词个数.Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中.大多数Linux驱动都有与其对应的设备文件,因 ...
- k8s的快速使用手册
一.快速搭建文档 一.初始化kubernete kubeadm init --kubernetes-version=v1. --apiserver-advertise-address=192.168. ...
- SpringBoot整合Druid,密码加密
1.application.yml配置 spring: datasource: url: jdbc:mysql://127.0.0.1:3306/jby?serverTimezone=UTC& ...
- 在eclipse中添加svn插件
1.点击菜单栏中的help选项,然后选择Install New Software,然后点击ADD,输入: name:subclipse url:http://subclipse.tigris. ...
- 波兰语 polish
There are several systems for encoding the Polish alphabet for computers. All letters of the Polish ...
- Retrofit总结(原)
1.Retrofit的作用 A type-safe HTTP client for Android and Java 看到这句话时候在想什么是类型安全? 百度一下:类型安全代码指访问被授权可以访问的内 ...