第一次使用java命令完全运行一个java project
参考: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包
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="conf"/>
<classpathentry kind="lib" path="lib/sequence-library-1.0.3.jar"/>
<classpathentry kind="lib" path="lib/sqljet-1.1.11.jar"/>
<classpathentry kind="lib" path="lib/svnkit-1.9.2.jar" sourcepath="C:/Users/Administrator/AppData/Local/Temp/decompiler/source/svnkit-1.9.2-sources-1533874168439.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_43"/>
<classpathentry kind="output" path="bin"/>
</classpath>

本文详细介绍了如何使用Java命令行编译并运行一个简单的Java项目,包括环境配置、编译步骤及运行方法。特别关注了如何处理大量源文件、设置编码和类路径等问题。
8万+

被折叠的 条评论
为什么被折叠?



