前言本文教你怎么用javac和java命令以及如何利用脚本(shell或bat)方便处理并用简单的实例展示这些用法
IDE是把双刃剑它可以什么都帮你做了你只要敲几行代码点几下鼠标程序就跑起来了用起来相当方便你不用去关心它后面做了些什么执行了哪些命令基于什么原理然而也是这种过分的依赖往往让人散失了最基本的技能当到了一个没有IDE的地方你便觉得无从下手给你个代码都不知道怎么去跑好比给你瓶水你不知道怎么打开去喝然后活活给渴死
之前用惯了MyeclipseJava文件编译运行的命令基本忘得一干二净现在项目出了原型放到服务器上去测试SSH一登陆上服务器就傻眼了都是命令行以前程序图标什么的都成了浮云程序放上去了不知道怎么去编译运行只能补补课了下面做下补课笔记
一javac命令javac 用于编译Java文件格式为java [options] [sourcefiles] [@files]其中options命令行选项sourcefiles一个或多个要编译的源文件@files一个或多个对源文件进行列表的文件有时候要编译的文件很多一个个敲命令会显得很长也不方便修改可以把要编译的源文件列在文件中在文件名前加@这样就可以对多个文件进行编译对编译一个工程很有用方便省事
有几个比较重要的选项d 用于指定编译成的class文件的存放位置缺省情况下不指定class文件的存放目录编译的class文件将和源文件在同一目录下classpath 可以简写成cp用于搜索编译所需的class文件指出编译所用到的class文件的位置如jarzip或者其他包含class文件的目录指定该选项会覆盖CLASSPATH的设定sourcepath用于搜索编译所需的源文件(即java文件)指定要搜索的源文件的位置如jarzip或其他包含java文件的目录需要注意windows下和linux下文件路径分隔符和文件列表(即classpath和sourcepath指定的文件)分隔符的区别windows下文件路径分隔符用 \ 文件列表分隔符用分号 linux下文件路径分隔符用 / 文件列表分隔符用冒号 二java命令java 用于执行程序格式如下java [options] classfile options命令行选项一般用于 classpath 指定要执行的文件所在的位置以及需要用到的类路径包括jarzip和class文件目录会覆盖CLASSPATH的设定三脚本如果要敲的命令很长每次要编译运行的时候都要重新敲一遍这是一件很痛苦的事情所以用脚本可以大大方便你的工作量在linux下用shell脚本windows下用bat批处理程序因为是在linux下我这里只是简单介绍一下shell关于bat批处理程序的语法自己百度一下不难
开头linux有很多不同的shell通常使用bash(bourne again shell)程序必须以下面的行开始#!/bin/sh #!用来告诉系统用后面的参数来执行程序这里使用的是/bin/sh要使你的脚本能够执行还必须让这个文件有可执行权限使用下面命令更改文件权限chmod +x filename 注释以#开始的句子表示注释一直到这行结束多写注释有利于以后重新看的时候知道自己在做什么 变量shell的脚本的变量都是字符串不用申明类型定义的时候直接 变量=值 即可用到变量的的时候用 $变量 或者 ${变量}echo命令用于打印举个例子#!/bin/sh # 定义变量words值为hello world words=hello world # 打印变量words的值echo $words 命令shell脚本里面可以直接任意使用linux命令要用到什么命令直接敲进去即可记住一些常用的命令cd 打开目录ls l 显示目录信息rm fr 递归删除目录及下面的文件不提示信息mkdir 创建目录pwd 显示当前路径kill pid 强制杀掉某个进程号的进程pkill 杀掉某个名字的进程ps aux 显示运行进程信息netstat pan 查看网络端口监听情况四例子下面是文件compile用于编译整个java工程把编译的文件放到指定目录下
view plain #!/bin/sh # Define some constants ONSSERVER=ONSServer PROJECT_PATH=/root/iotoid JAR_PATH=$PROJECT_PATH/lib BIN_PATH=$PROJECT_PATH/bin SRC_PATH=$PROJECT_PATH/src/$ONSSERVER
# First remove the sourceslist file if it exists and then create the sources file of the project rm f $SRC_PATH/sources find $SRC_PATH/com name *java > $SRC_PATH/sourceslist
# First remove the ONSServer directory if it exists and then create the bin directory of ONSServer rm rf $BIN_PATH/$ONSSERVER mkdir $BIN_PATH/$ONSSERVER
# Compile the project javac d $BIN_PATH/$ONSSERVER classpath $JAR_PATH/jdomjar$JAR_PATH/orojar @$SRC_PATH/sourceslist下面是文件run用于执行程序view plain #!/bin/sh
# Define some constants ONSSERVER=ONSServer PROJECT_PATH=/root/iotoid JAR_PATH=$PROJECT_PATH/lib BIN_PATH=$PROJECT_PATH/bin
# Run the project as a background process nohup java classpath $BIN_PATH$JAR_PATH/jdomjar$JAR_PATH/orojar comONSServerDoUDPRequest &以上是对javacjava和shell脚本的简单总结用的比较简单如有错误欢迎指正!