如果java命令可以用,那么javac命令應(yīng)該也可以用。\x0d\x0a出現(xiàn)你這種情況的原因有二:\x0d\x0a(1)已經(jīng)正確安裝JDK,但沒(méi)有重新打開(kāi)控制臺(tái),導(dǎo)致javac命令不能用。\x0d\x0a解決方法:關(guān)閉原有控制臺(tái),重新打開(kāi)控制臺(tái),輸入javac測(cè)試。\x0d\x0a\x0d\x0a(2)已經(jīng)正確安裝JDK,但沒(méi)有設(shè)置path環(huán)境變量,導(dǎo)致javac命令不可用。\x0d\x0a解決方法:設(shè)置環(huán)境變量,將類似“C:\Program Files\Java\jdk1.6.0_17\bin”的值添加到path環(huán)境變量中。重新打開(kāi)控制臺(tái),輸入javac測(cè)試。\x0d\x0a\x0d\x0a 至于“java -version”顯示安裝成功,這并不能說(shuō)明什么。java是跨平臺(tái)的語(yǔ)言,在Windows、Linux等多種操作系統(tǒng)平臺(tái)上都預(yù)裝有java的運(yùn)行環(huán)境JRE,在它的bin目錄下就有java命令(用于運(yùn)行Java程序),但沒(méi)有javac命令(用于編譯Java程序)。也就是說(shuō),即使你不安裝JDK,一樣可以使用java命令,但不能直接使用javac,除非安裝jdk,并設(shè)置path環(huán)境變量。
創(chuàng)新互聯(lián)公司2013年成立,先為和田縣等服務(wù)建站,和田縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為和田縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
前言 本文教你怎么用javac和java命令 以及如何利用腳本(shell或bat)方便處理 并用簡(jiǎn)單的實(shí)例展示這些用法
IDE是把雙刃劍 它可以什么都幫你做了 你只要敲幾行代碼 點(diǎn)幾下鼠標(biāo) 程序就跑起來(lái)了 用起來(lái)相當(dāng)方便 你不用去關(guān)心它后面做了些什么 執(zhí)行了哪些命令 基于什么原理 然而也是這種過(guò)分的依賴往往讓人散失了最基本的技能 當(dāng)?shù)搅艘粋€(gè)沒(méi)有IDE的地方 你便覺(jué)得無(wú)從下手 給你個(gè)代碼都不知道怎么去跑 好比給你瓶水 你不知道怎么打開(kāi)去喝 然后活活給渴死
之前用慣了Myeclipse Java文件編譯運(yùn)行的命令基本忘得一干二凈 現(xiàn)在項(xiàng)目出了原型 放到服務(wù)器上去測(cè)試 SSH一登陸上服務(wù)器就傻眼了 都是命令行 以前程序圖標(biāo)什么的都成了浮云 程序放上去了不知道怎么去編譯運(yùn)行 只能補(bǔ)補(bǔ)課了 下面做下補(bǔ)課筆記
一 javac命令javac 用于編譯Java文件 格式為 java [options]? [sourcefiles] [@files]其中 options 命令行選項(xiàng) sourcefiles 一個(gè)或多個(gè)要編譯的源文件 @files 一個(gè)或多個(gè)對(duì)源文件進(jìn)行列表的文件 有時(shí)候要編譯的文件很多 一個(gè)個(gè)敲命令會(huì)顯得很長(zhǎng) 也不方便修改 可以把要編譯的源文件列在文件中 在文件名前加@ 這樣就可以對(duì)多個(gè)文件進(jìn)行編譯 對(duì)編譯一個(gè)工程很有用 方便 省事
有幾個(gè)比較重要的選項(xiàng) d 用于指定編譯成的class文件的存放位置 缺省情況下不指定class文件的存放目錄 編譯的class文件將和源文件在同一目錄下 classpath 可以簡(jiǎn)寫成 cp 用于搜索編譯所需的class文件 指出編譯所用到的class文件的位置 如jar zip或者其他包含class文件的目錄 指定該選項(xiàng)會(huì)覆蓋CLASSPATH的設(shè)定 sourcepath用于搜索編譯所需的源文件(即java文件) 指定要搜索的源文件的位置 如jar zip或其他包含java文件的目錄 需要注意windows下和linux下文件路徑分隔符和文件列表(即 classpath和 sourcepath指定的文件)分隔符的區(qū)別 windows下文件路徑分隔符用 \ 文件列表分隔符用分號(hào) linux下文件路徑分隔符用 / 文件列表分隔符用冒號(hào) 二 java命令java 用于執(zhí)行程序 格式如下 java [options] classfile options 命令行選項(xiàng) 一般用于 classpath 指定要執(zhí)行的文件所在的位置以及需要用到的類路徑 包括jar zip和class文件目錄 會(huì)覆蓋CLASSPATH的設(shè)定三 腳本如果要敲的命令很長(zhǎng) 每次要編譯運(yùn)行的時(shí)候都要重新敲一遍 這是一件很痛苦的事情 所以用腳本可以大大方便你的工作量 在linux下用shell腳本 windows下用bat批處理程序 因?yàn)槭窃趌inux下 我這里只是簡(jiǎn)單介紹一下shell 關(guān)于bat批處理程序的語(yǔ)法自己百度一下 不難
開(kāi)頭linux有很多不同的shell 通常使用bash(bourne again shell) 程序必須以下面的行開(kāi)始 #!/bin/sh #!用來(lái)告訴系統(tǒng)用后面的參數(shù)來(lái)執(zhí)行程序 這里使用的是/bin/sh要使你的腳本能夠執(zhí)行 還必須讓這個(gè)文件有可執(zhí)行權(quán)限 使用下面命令更改文件權(quán)限 chmod +x filename 注釋以#開(kāi)始的句子表示注釋 一直到這行結(jié)束 多寫注釋有利于以后重新看的時(shí)候知道自己在做什么 變量shell的腳本的變量都是字符串 不用申明類型 定義的時(shí)候直接? 變量=值? 即可 用到變量的的時(shí)候用 $變量 或者 ${變量} echo命令用于打印 舉個(gè)例子 #!/bin/sh # 定義變量words 值為hello world words= hello world # 打印變量words的值echo $words 命令shell腳本里面可以直接任意使用linux命令 要用到什么命令直接敲進(jìn)去即可 記住一些常用的命令 cd?????????????????? 打開(kāi)目錄ls l???????????????? 顯示目錄信息rm fr????????????? 遞歸刪除目錄及下面的文件 不提示信息mkdir????????????? 創(chuàng)建目錄pwd??????????????? 顯示當(dāng)前路徑kill pid??????? 強(qiáng)制殺掉某個(gè)進(jìn)程號(hào)的進(jìn)程pkill??????????????? 殺掉某個(gè)名字的進(jìn)程ps aux??????????? 顯示運(yùn)行進(jìn)程信息netstat pan 查看網(wǎng)絡(luò)端口監(jiān)聽(tīng)情況四 例子下面是文件pile 用于編譯整個(gè)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 用于執(zhí)行程序 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
首先,javac是編譯java程序用的,屬于JDK,確保你已安裝了JDK而不是JRE。
其次,確認(rèn)你的JDK在當(dāng)前用戶的PATH變量里。
使用linux運(yùn)行java程序具體步驟如下:
1.Windows上使用eclipse編譯java工程,編譯完成后導(dǎo)出為Runnable JAR File。
例如,此處將test工程中的Test2文件export為MyTest2.jar文件。
2.Ubuntu上java環(huán)境安裝。
①jdk官網(wǎng)下載Linux上使用的jdk。
②eclipse官網(wǎng)下載Linux上使用的eclipse。
③將jdk和eclipse上傳到Linux服務(wù)器并解壓,然后配置java環(huán)境變量(eg.jdk的解壓目錄是/home/test)。
配置方法:編輯/etc/profile文件,添加如下內(nèi)容(備注:Linux中冒號(hào):用于分隔路徑,點(diǎn)號(hào).表示當(dāng)前目錄)。
編輯完成后保存文件
④使配置生效,命令 source /etc/profile
⑤測(cè)試環(huán)境變量是否配置成功,命令java -version,顯示jdk版本,則表示java環(huán)境變量配置成功。