`
2277259257
  • 浏览: 498474 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java 技巧:编写批处理文件自动编译.java文件

 
阅读更多

最近经常要使用 Tomcat服务器写一些简单的 Java Web 代码,我的机器内存才1G,运行 MyEclipse 时太卡太慢,所以多用纯文本环境(Editplus) 加命令行控制台。但一个部署到 Tomcat 中的完整 Java Web 应用对各种文件(夹)是有严格要求的,例如对.java源文件编译后的 .class 文件一定要放在对应的 classes 文件夹中。

 
麻烦的问题?
例如,每次都在命令行控制符下用 set classpath=… 设置环境变量,再用 javac –d [编译后.class文件的存放路径] 命令编译并将生成的 .class 文件放到指定的目录中。这是很繁琐、很机械的一个操作。
 
怎么办?
此时可以编写一个 .bat 批处理文件来获得解脱。新建一个 .txt 文件并敲入下面的代码:
  1. set CLASSPATH=F:\study\mylib\myjar.jar;%CLASSPATH%; 
  2.  
  3. javac -d F:\mywebapp\WEB-INF\classes %1 
  4.  
  5. pause 
 
什么意思?

相信大家都对上面3行的作用都很容易理解,第一行先是设置 CLASSPATH 环境变量,而用分号 ; 隔开后面的 %CLASSPATH% 是已经设置好的系统变量,重要的是前面部分特定于某个应用需要用到的 CLASSPATH,其实就是一些 .jar 包的引入。第二行使用 javac –d命令附加将要存放编译生成的 .class 文件的路径,在 Java web 应用中常见的就是mywebapp\WEB-INF\classes 目录了。第二行末尾的一个 %1 的用意稍后再讲。

 
怎么使用?

将该 .txt 文件另存为 JavaCompiler.bat 批处理文件,以后你只要将想编译的 .java 源文件拖动到该 .bat 文件的图标上面就会帮你自动编译,并将生成的 .class 文件按照上面第二行 –d 参数保存到指定的目录下。

 

上面第二行中末尾的 %1 其实就是一个参数,即被你拖动过来的文件名,而 pause 则用于在运行完该 .bat 文件之后让控制台暂停,以便我们查看编译时产生的信息。

 
使用效果图:

 
再来一张编译出错的截图:

 
本文内容参考自:《Java Web 开发内幕——核心基础》,孙孝祥编著。
分享到:
评论

相关推荐

    编写批处理命令来执行JAVA文件

    NULL 博文链接:https://baobeituping.iteye.com/blog/802543

    Java项目开发与毕业设计指导

    安装JDK、配置环境变量,编译java源文件(可以用eclipse自动编译也可以手动命令行下编译),然后命令行下运行如下命令启动服务器端: java rmi.NetS 2000 (端口号为2000) 键入如下命令启动客户端: java...

    命令行下的Java编译工具

    适合初学者用,个人用批处理编写的java编译工具。出于保护版权,转成了exe格式,人格保证,绝对无毒。 本人08年开始接触Java,初学者当然是使用黑框框编译啦,可是JDK编译器手动太麻烦,又要javac源文件,又要java...

    MySQL 5.1官方简体中文参考手册

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. ...

    实例教程1小时学会Python

    • 编写一个类文件 • 编写一个main方法 • 将之编译成字节代码 • 由于字节代码不能直接运行,你需要再写个小小的bat或者bash脚本来运行. 当然,用C/C++同样能完成这项工作.但C/C++不是跨平台语言.在这个足够简单的...

    疯狂Java讲义第二版配套光盘源码

    里还提供了一个*.cmd文件,该文件是一个批处理文件,运行该文件可以运行 相应的Java程序,例如DatabaseMetaDataTest.java对应的*.cmd文件为 runDatabaseMetaDataTest.cmd。 (4) 光盘根目录下提供了一个“Java...

    疯狂java光盘内容

    里还提供了一个*.cmd文件,该文件是一个批处理文件,运行该文件可以运行 相应的Java程序,例如DatabaseMetaDataTest.java对应的*.cmd文件为 runDatabaseMetaDataTest.cmd。 (4) 光盘根目录下提供了一个“Java...

    java cmd compile and run batch file:批处理文件,用于通过命令提示符进行编译(javac)和运行Java-开源

    任何时候只要您想编写简单的程序来测试代码或进行其他操作,请使用我制作的这些批处理文件。 它们比打开IDE并输入所有内容进行测试要快得多。 然后,批处理文件“ RunJavaCode”创建一个.class文件(字节码),然后...

    SQL数据库连接器(Java版)

    用JAVA编写的SQL数据库连接工具,可连接MS SQL ,My SQL 。以打包,WinXP双击即可运行,类UNIX下需解压出压缩包内的SQL.jar文件和lib文件夹。编译环境:NetBeans 5.5,jdk1.5.0_04 ;Win XP(Win 2003 SP1 )下运行...

    疯狂JAVA讲义(第二版)光盘内容

    里还提供了一个*.cmd文件,该文件是一个批处理文件,运行该文件可以运行 相应的Java程序,例如DatabaseMetaDataTest.java对应的*.cmd文件为 runDatabaseMetaDataTest.cmd。 (4) 光盘根目录下提供了一个“Java...

    APKTool批处理版l

    将你需要汉化的APK文件,放到APKTOOL文件夹下面,双击运行“解包软件.BAT”,批处理会自动识别APK文件并开始解包,在这里我用FlipSilent(一个翻转静音工具)作为示例。 解包出来的资源存储在“汉化中的资源”...

    JAVA编译程序 CMD

    每次编译或运行Java程序时,都要在DOS命令行中输入很长的javac或java命令, 太麻烦,想法来了,编写一个适用于Windows操作系统的批处理文件, 运行本程序,输入文件名即可对JAVA编译和运行了,是初学JAVA的好帮手。

    MySQL5.1参考手册官方简体中文版

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. ...

    MySQL 5.1参考手册

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. ...

    MySQL 5.1中文手冊

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. ...

    mysql官方中文参考手册

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. ...

    MYSQL中文手册

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 ...

    MySQL 5.1参考手册中文版

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 ...

    MySQL 5.1参考手册 (中文版)

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. ...

Global site tag (gtag.js) - Google Analytics