
前言 本文教你怎么用javac和java命令 以及如何利用脚本(shell或bat)方便处理 并用简单的实例展示这些用法
IDE是把双刃剑 它可以什么都帮你做了 你只要敲几行代码 点几下鼠标 程序就跑起来了 用起来相当方便 你不用去关心它后面做了些什么 执行了哪些命令 基于什么原理 然而也是这种过分的依赖往往让人散失了最基本的技能 当到了一个没有IDE的地方 你便觉得无从下手 给你个代码都不知道怎么去跑 好比给你瓶水 你不知道怎么打开去喝 然后活活给渴死
之前用惯了Myeclipse Java文件编译运行的命令基本忘得一干二净 现在项目出了原型 放到服务器上去测试 SSH一登陆上服务器就傻眼了 都是命令行 以前程序图标什么的都成了浮云 程序放上去了不知道怎么去编译运行 只能补补课了 下面做下补课笔记
一 javac命令javac 用于编译Java文件 格式为 java [options] [sourcefiles] [@files]其中 options 命令行选项 sourcefiles 一个或多个要编译的源文件 @files 一个或多个对源文件进行列表的文件 有时候要编译的文件很多 一个个敲命令会显得很长 也不方便修改 可以把要编译的源文件列在文件中 在文件名前加@ 这样就可以对多个文件进行编译 对编译一个工程很有用 方便 省事
有几个比较重要的选项 d 用于指定编译成的class文件的存放位置 缺省情况下不指定class文件的存放目录 编译的class文件将和源文件在同一目录下 classpath 可以简写成 cp 用于搜索编译所需的class文件 指出编译所用到的class文件的位置 如jar zip或者其他包含class文件的目录 指定该选项会覆盖CLASSPATH的设定 sourcepath用于搜索编译所需的源文件(即java文件) 指定要搜索的源文件的位置 如jar zip或其他包含java文件的目录 需要注意windows下和linux下文件路径分隔符和文件列表(即 classpath和 sourcepath指定的文件)分隔符的区别 windows下文件路径分隔符用 \ 文件列表分隔符用分号 linux下文件路径分隔符用 / 文件列表分隔符用冒号 二 java命令java 用于执行程序 格式如下 java [options] classfile options 命令行选项 一般用于 classpath 指定要执行的文件所在的位置以及需要用到的类路径 包括jar zip和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 查看网络端口监听情况四 例子下面是文件pile 用于编译整个java工程 把编译的文件放到指定目录下
view plain #!/bin/sh # Define some constants ONSSERVER=ONSServer PROJECT_PATH=/root/iot oid JAR_PATH=$PROJECT_PATH/lib BIN_PATH=$PROJECT_PATH/bin SRC_PATH=$PROJECT_PATH/src/$ONSSERVER
# First remove the sources list file if it exists and then create the sources file of the project rm f $SRC_PATH/sources find $SRC_PATH/ name java > $SRC_PATH/sources list
# 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/jdom jar $JAR_PATH/oro jar @$SRC_PATH/sources list下面是文件run 用于执行程序 view plain #!/bin/sh
# Define some constants ONSSERVER=ONSServer PROJECT_PATH=/root/iot oid JAR_PATH=$PROJECT_PATH/lib BIN_PATH=$PROJECT_PATH/bin
lishixinzhi/Article/program/Java/hx/201311/27024古道上空传来阵阵战马的嘶鸣。最前方依稀看见一位身着盔甲、英姿飒爽的女将军。她正用劲挥舞着马鞭,奔跑在这崎岖的古道上。 这位归心似箭的女将军就是远近闻名的花木兰。话说十几年前,木兰家中接到可汗征兵作战的军贴。善良、孝顺的木兰为了不让年迈的父亲承受征战之苦。木兰——一纤弱的女子,毅然女扮男装,代父从军。在战斗中,她奋勇拼杀,战功赫赫地凯旋归来。面对诱人的功名利禄,木兰不为所动,义无返顾地回到朝思暮想的故乡。 木兰衣锦还乡的消息传到了她所在村庄,整个村子就沸腾了。村民们脸上都流露出从未有过的喜庆,木兰的家人更是喜上眉梢。 终于盼到了这一天,木兰的双亲互相挽扶着去迎接闺女的到来,村民也簇拥着去迎接远到而来的军队,凛冽的寒风呼啸着,而两位老人和村民们的心却比什么时候都烫。听!一阵马啼声由远及近地传来。顿时,道路飞扬起漫天尘埃。突然,这片迷茫中飞出一匹矫健的烈马,花木兰从马背上一跃而下,扑进母亲的怀抱里。动情地呼唤着:“娘,兰儿回来了,您的兰儿回来了!”母亲伸出颤抖的手抚摸着爱女的面颊,片言未吐,却已泣不成声。父亲也不禁老泪纵横。在场的人,无一不被这一场景所感动。 小小村庄到处彩灯高悬,爆竹声声。木兰的姐姐妆扮一新地迎出来,望着眼前的这位威武的将军,真是又惊又喜。“小妹!”“姐姐!”久别的姐妹紧紧地握住双手。“姐,怎么不见小弟?”“他呀,在忙着呢!”姐姐神秘地指指后院。木兰听到了霍霍的磨刀声,来到后院。阔别10余载,往日的小淘气已长成一个英俊强壮的大小伙子。为了给姐姐洗尘,他正在杀猪宰羊:“报告花将军,一切准备就绪!”木兰望着小弟,脸上笑开了花。 堂屋而砂时传来大伙开怀畅饮的笑谈声。木兰却来到了她少女时代的闺房。屋里的摆设一切如往昔,角落里那台织布机仿佛在述说以往的故事。木兰脱下战袍,换上了美丽的红装,满怀柔情地端坐在镜前,细心地梳妆打扮起来…… 梳理完毕,木兰轻移莲步,娇羞地来到堂屋。一刹那,大伙儿都被这位妩媚的佳人惊呆了。一位旧时的伙伴惊喜地对木兰的父亲说:“老爹,没想到您还有一位如此俊俏的闺女!”木兰的父亲爽朗地笑了,对众人道:“你们好好看看,她就是木兰呀!”“什么?”大伙简直不相信自己的眼睛,与他们同甘共苦十余年的花木兰竟是一个妙龄女郎!木兰见状,挥起宝剑,自如地舞起来,令人眼花缭乱,拍案叫绝。惊叹之余,众人无不感慨:木兰!木兰啊!真乃一个盖世奇女子也! 从此,木兰代父出征的故事便传为佳话,流芳百世1、UE是个编辑工具,像个记事本,只不过功能很强大,他不能运行代码,要用java虚拟机运行,通常都是Ecplise、MyEcplise来运行,但必须先装java虚拟机。
2、MyEcplise打开后点击file->new->porject,初学就点那个Java Project,输个名字,然后点击左侧你建的项目,右击src,new一个class,输个名字就是java文件了,可以在里面写代码,完了调试没错了,右击那个java文件(就是你新建的class)有run as选择java application就运行了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)