用命令行编译java文件
用惯了IDE,突然发现对于java和javac命令只会基础的单文件编译运行,因此特地研究了一下多文件依赖编译运行。(顺便一提,stackoverflow真是个好地方)
环境:Java8 Windows10
单文件编译
带包名的java类编译
现在我们对 HelloWorld.java 做些小小的修改代码如下
package lib;public class HelloWorld
{public static void main (String []args) {System.out.println ("Hello World!");}
}
这种情况,有两种方式:
第一种就是直接用 -d 参数编译。
编译命令 javac -d . HelloWorld.java 切记 . 代表当前目录左右空格不能丢。编译后编译器会帮我们在当前目录下自动生成一个lib文件夹,这和我们的包名一致。如果包名很长如: com.shark.test 编译器就会生成 ./com/shark/test 三级目录,在最里层即 test目录下就是我们的class文件。
运行命令 java lib.HelloWorld 运行时需带上完整包名+类名
第二种方式是手动创建一个 lib 文件夹将 HelloWorld.java 放进去,(这里的lib 取决于包名,若多层包名需创建多级目录)
编译命令:javac ./lib/HelloWorld.java 运行命令为:java lib.HelloWorld
引用第三方jar包的编译
在这里我引用的是mysql的jar包。代码如下
import java.sql.ResultSet;
import java.sql.SQLException;import com.mysql.jdbc.Driver;public class Test
{private ResultSet rset;private static Driver driver;public static void main (String args [] ) throws SQLException {driver = new Driver();System.out.println ("HelloWorld!!");System.out.println (driver);}
}
编译命令 javac -cp mysql-connector-java-5.1.7-bin.jar Test.java
执行命令 java -Djava.ext.dirs=./ Test 或是 java -cp .;mysql-connector-java-5.1.7-bin.jar Test
有包名:
编译命令 : javac -d . -cp mysql-connector-java-5.1.7-bin.jar Test.java
执行命令 java -Djava.ext.dirs=./ Test
-cp 指定第三方jar包的位置
多文件编译
同级目录下
一下是准备工作,在当前目录下创建 HelloWorld.java 和 Main.java文件内容分别如下
public class HelloWorld
{public String getMsg (){return "HelloWorld!";}
}
public class Main
{public static void main (String []args){HelloWorld hw = new HelloWorld ();System.out.println (hw.getMsg ());}
}
在cmd中查看目录如下:
同级目录下java和javac都可以自动识别,这里很简单,编译命令为 javac HelloWorld.java Main.java 运行命令为 java Main
非同级目录
import lib.HelloWorld;public class Main
{public static void main (String []args){HelloWorld hw = new HelloWorld ();System.out.println (hw.getMsg ());}
}
在当前目录下创建一个目录lib 并在lib下创建一个文件 HelloWorld.java
package lib;public class HelloWorld
{public String getMsg (){return "Hello World!";}
}
编译命令 javac Main.java ./lib/HelloWorld.java 运行命令为 java Main
https://stackoverflow.com/questions/44458126/use-javac-and-java-to-excute-class-file-with-extern-classes-under-other-director
用命令行编译java文件相关推荐
- Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...
一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...
- java 手动编译打包_Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...
一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...
- java手动编译jar包_Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...
一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...
- java文件编译为class文件需要键入什么命令_cmd命令行 编译Java 文件
[问题引入] 很多时候,需要用到命令行来进行Java文件的编译.在用习惯了IDE 可能会不清楚如何在cmd命令行窗口进行编译,简单的都还好,带有包路径的可能会让很多人觉得有点小头疼.最近试了一下,发现 ...
- java 命令行 编译 jar文件_用命令行编译java并生成可执行的jar包
如果想用java编写一个可视化小程序,碰巧手头没有IDE的话,可以用命令行来完成编译.打包等工作. 拿自己编写的"java记事本"为例,介绍一下这个过程: 1.编写源代码. 编写源 ...
- 怎么用命令行运行.java文件
第一步 假如在e盘里有个文件夹名为Java,在Java文件夹里有一个事先写好的.java程序,如下: 第二步 打开命令行窗口(Window+R),输入cmd,点确定,如下: 第三步 转到HelloWo ...
- flex的mxmlc命令行编译as3文件成swf
今天想要了解一下as3直接编译成为swf通过命令行的方式进行编译,找到一篇文章:http://edutechwiki.unige.ch/en/AS3_Compiling_a_program 里面介绍 ...
- 用命令行编译java并生成可执行的jar包
1.编写源代码 编写源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java.程序结构如下: package test;import jav ...
- 命令行编译java项目_命令行编译运行java工程(转)
平时建立Java工程都是借助eclipse或intellij这些ide编辑器来构建,对于java工程的实际编译执行原理,从未了解过.作为一个曾经的C++程序员,对于源码刨根问底的那份执着从未丢过.于是 ...
最新文章
- 转载:薪资谈判应该避免的7个错误
- Socket的三个关联函数
- stm32官方例程在哪找_正点原子Linux第十一章模仿STM32驱动开发格式实验
- ACM入门之【搜索】
- 记录您的里程和社区运行情况:Java EE 7真实体验
- 思科 GNS3 配置 NAT 端口映射
- python_day9 回调函数
- mybatis执行opensession时空指针异常_关于 Mybatis 缓存的那点事儿,你知道吗?
- Android Studio(十):添加assets目录
- python飞机大战源码以及素材资源
- 2020中青杯A题集成电路通道布线数学建模全过程论文及程序
- 《道德经》——《老子道德经》
- 新手建站推广完美教程(重点推荐)
- 用Redis给Java做优惠卷过期
- rain、rainy、raining的区别
- 汇编(二)——ARM数据处理指令——算术运算、数据传送
- 20. Linux提权:从入门到放弃
- 网上英语听力测试的软件,初中英语听力测试
- [设计模式] Pipeline 设计模式
- Matlab与FPGA图像处理系列——基于FPGA的实时边缘检测系统设计,sobel边缘检测流水线实现