第一次使用java命令完全运行一个java project

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次使用java命令完全运行一个java project

参考:JAVAC 命令详解

1. 前言

参加工作将4年了,居然还没有完整的使用命令行编译过项目。都是使用IDE进行的,现在忽然有了兴致,试试吧

2. 项目简介

这是之前做的一个svn工具项目,比较简单,适合试试手。项目路径为:E:\workspace\svn-util-v4.4
这里写图片描述

2.1. java环境

如下图
这里写图片描述

2.2. 编译及运行步骤

  1. 打开cmd,且换到项目路径下

  2. 使用for /r %i in (*.java) do @echo %i>>java.list,将项目路径下所有java文件路径输出到java.list文件中
    for /r %i in (*.java) do @echo %i>>java.list是cmd的一个命令

  3. 使用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目录下

  4. 运行项目
    切换到bin目录下,执行java -Djava.ext.dirs=../lib com.svn.util.SvnMain
    说明:

    a. -Djava.ext.dirs=../lib指定运行时依赖的lib
    b. com.svn.util.SvnMainmain方法所在的类

  5. 参考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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值