第一次使用java命令完全运行一个java project1. 前言2. 项目简介2.1. java环境2.2. 编译及运行步骤
参考:JAVAC 命令详解
1. 前言
参加工作将4年了,居然还没有完整的使用命令行编译过项目。都是使用IDE进行的,现在忽然有了兴致,试试吧
2. 项目简介
这是之前做的一个svn工具项目,比较简单,适合试试手。项目路径为:E:\workspace\svn-util-v4.4
2.1. java环境
如下图
2.2. 编译及运行步骤
打开cmd,且换到项目路径下
使用for /r %i in (*.java) do @echo %i>>java.list,将项目路径下所有java文件路径输出到java.list文件中
for /r %i in (*.java) do @echo %i>>java.list是cmd的一个命令
使用javac -d ./bin -Djava.ext.dirs=./lib -encoding utf-8 @java.lst编译
这里需要说明几点:
a. 如果源文件数量多,则将源文件名列在一个文件中,名称间用空格或回车行来进行分隔。然后在 javac 命令行中使用该列表文件名,文件名前冠以 @ 字符。
b. -encoding utf-8设置源文件编码名称。若未指定 -encoding 选项,则使用平台缺省的编码。因为我的项目设置的是utf-8所以这里使用utf-8
c. -Djava.ext.dirs=./lib这个是编译时需要用到的lib,在我的项目中就是E:\workspace\svn-util-v4.4下的lib,所以直接使用./lib
d. -d ./bin设置类文件的目标目录。如果某个类是一个包的组成部分,则 javac 将把该类文件放入反映包名的子目录中,必要时创建目录
e. 这里还有个问题就是自定义conf下的配置文件没有生成到bin目录,所以需要手动拷贝到bin目录下
运行项目
切换到bin目录下,执行java -Djava.ext.dirs=../lib com.svn.util.SvnMain
说明:
a. -Djava.ext.dirs=../lib指定运行时依赖的lib
b. com.svn.util.SvnMainmain方法所在的类
参考eclipse的.classpath文件
如下,在kind="src"中的path实际上就是要编译的java文件和实际运行要使用的配置文件。kind="lib"就是编译和运行时依赖的jar包