熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

如何用javac 和java 編譯運行整個Java工程

2022-06-13   來源: Java核心技術 

  前言本文教你怎麼用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腳本的簡單總結用的比較簡單如有錯誤歡迎指正!


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27024.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.