関連受注のjavacコマンドのJava仮想マシン命令

javacコマンドの説明

ルート@ k8smaster01 JSON]#件のjavac
使い方:javacの<オプション> <ソースファイル>
:可能なオプションには、
  すべてのデバッグ情報の生成-g 
  なしいいえデバッグ情報を生成しない:-gは 
  -g:{行は、varsは、ソース}生成のみいくつかのデバッグ情報が
  何も警告を生成しません-nowarn
  コンパイラがやっていることについて-verbose出力メッセージ
  廃止予定のAPIが使用されている-deprecation出力ソースの場所
  -classpath <パス>ユーザクラスファイルおよび注釈プロセッサの検索場所を指定します。
 -cp <パス>検索場所を指定し 、ユーザクラスファイルおよび注釈プロセッサ#指定したソースファイルは、ディレクトリ、jarファイルすることができた.classファイルに依存する必要がコンパイルされたJava、ジップ(クラスファイルです)ファイルへのパスを
  -sourcepath <パス>入力ソースがコンパイルのソースファイルで#パスをファイルを見つけるためにすることのjavaのjavaファイルを依存する必要が場所を指定し、(javaファイルです)、ディレクトリ、jarファイル、zipファイルすることができ
  ブートストラップ上のファイルの-bootclasspath <path>はオーバーライドLOCATIONクラス
  - extdirsの<DIRS>オーバーライドLOCATIONインストール拡張
  -endorseddirs <DIRS>標準のオーバーライドLOCATION路承認
  -proc :. {いずれも、唯一}かどうか注釈制御処理及び/又はコンパイルが行われない
  -processor <クラス1>、<クラス2> <Class3に> ...]の名前注釈プロセッサを実行するには、デフォルトの検出プロセスをバイパス
  -processorpath <パス>注釈プロセッサの検索場所を指定し
  -parametersは、メソッドのパラメータでの反射のためのメタデータを生成
  -d <ディレクトリ>ここで指定生成的階級的位置、会根据包名递归生成生成されたクラスファイル番号を配置する場所を指定します
  -s <ディレクトリ>場所に生成された場所を指定したソースファイル
  -h <ディレクトリ>の場所に生成されたネイティブヘッダファイル場所を指定
  -implicit:{なし、クラスは}暗黙的に参照されるファイルのクラスファイルを生成するかどうかを指定
  -encoding <エンコーディング>使用される符号化文字を指定しませんソースファイルの#で指定源文件使用的字符编码
  -source <リリース>は指定されたリリースとソースの互換性を提供します
  -target <リリース>のクラスファイルを生成特定のVMバージョン# クラスファイルを生成するために、特定の仮想マシンのバージョンを
  -profile <プロフィール>をチェック利用可能な使用されていることをプロファイルに指定されたAPI
  -versionバージョン情報
  を印刷オプション標準の-help Aあらすじ
  -Akey [=値]へのオプションの注釈プロセッサ峠に
  することで、非標準の印刷オプションの-X-Aあらすじ
  -J&LT <内のフラグは、>パス<中のフラグ>ランタイムシステムは、直接
  終了コンパイル表し警告はIFを発生する-Werror
  @ <ファイル名>オプションと読むファイルからファイル名の@ソースファイルリスト上の1つまたは複数のファイル
[ルート@ k8smaster01 JSON]# 


ケース

1)javaファイルは、単純な単一フリーパッケージコンパイル
[ルート@ k8smaster01 daima]#ます。mkdir simpledemo#ディレクトリを作成
#1 [k8smaster01 daima @ルート] のCD simpledemo /
#のPWD [k8smaster01 simpledemo @ルート]
/データ/ Javaの/ daima / simpledemo
[ルートをk8smaster01 simpledemo @]#viのエディタTest.java#Test.javaファイル、テキストの行を印刷し
ます。[root @ k8smaster01 simpledemo]#もっとTest.java 
パブリッククラス{テスト

  静的な無効メインパブリック(文字列[]引数){
     するSystem.out.println( "シンプルjavacのデモ");
  }
}

[@ k8smaster01ルートsimpledemo]#カレントディレクトリに格納#-d javacのTest.java使用javacコンパイラ、クラス。
[@ k8smaster01ルートsimpledemo] LS#-lrt
合計8。
-rw-R&LT - r--の1 16月1ルート3 23時39分Test.javaルート。
-rw-R&LT - r--の3 1ルート23は、ルートマール419です。: Test.class 40
[ルート@ k8smaster01 simpledemo]#テスト#クラスファイルのJava実装、通常の印刷javacの簡単なデモデータ
javacの簡単なデモ
[ルート@ k8smaster01 simpledemo]#


2)パッケージは、単純な単一ファイルのコンパイルのjavaあり
ます。[root @ k8smaster01 simpledemo]#ます。mkdir -pのsrc / COM /テスト#新規ディレクトリの
[ルート@ k8smaster01 simpledemo]#前回のMV Test.javaのsrc / COM /テスト/ # コピーテストをjavaファイル
[ルート@ k8smaster01 simpledemo]#viのはsrc / COM /テスト/ Test.java#編集javaファイル用のパッケージ変更を追加し
ます。[root @ k8smaster01 simpledemo]#詳細はsrc / COM /テスト/ Test.java 
パッケージ変更com.testため、
パブリッククラスTest {

  パブリック静的無効メイン(文字列[] args){
     System.out.printlnは( "のjavac単純なデモ")。
  }
}

[ルート@ k8smaster01 simpledemo]#のツリー/データ/ジャワ/ daima / simpledemo /#目录结构
/データ/ジャワ/ daima / simpledemo /
└──SRC
    └──COM
        └──試験
            └──Test.java

ディレクトリ3、1ファイル
[k8smaster01 simpledemo @ルート]#コンパイル済みのクラスファイルを保存するには、mkdir clazz#clazz新しいディレクトリ後
-lrt#のLS [k8smaster01 simpledemo @ルート]
合計0
drwxr-XR-3ルートルートX-16 3月23日3: SRC 43は
drwxrルート-XR-2、X-3月3日23:46 clazzルート6
[ルート@ k8smaster01 simpledemo]#のjavac -d ./clazz/#使用してコンパイルjavacのSRC / COM /試験/ Test.java
[ルート@ k8smaster01 simpledemo]を#ツリー/データ/ Javaの/ Daima / simpledemoディレクトリ構造/#コンパイラ
/データ/ Javaの/ Daima / simpledemo /
├──clazz
│└──COM
│└──テスト
│└──Test.class
└── SRC
    └──COM
        └──テスト
            └──Test.java

ディレクトリ6、2ファイル
[ルート@ k8smaster01 simpledemo]#Javaの-cp clazz / com.test.Test#は、コンパイル済みのファイルを実行し、簡単なデモ通常の印刷のjavac
javacの簡単なデモ
[ルート@ k8smaster01 simpledemo]# 

Javaが(依存関係に関する)バッチの3)にコンパイルされたファイル
[ルート@ k8smaster01テスト]#テスト#エンジニアリングツリー/データ/ javaの/ Daima /コード構造
/データ/ javaの/ Daima /テスト
├──clazz
├──設定
LIB├──
│└──GSON-2.3.jar
└──SRC
    └──COM
        ├──データ
        │└──ParaMap.java
        └──JSON
            └──Test.java

7つのディレクトリ、3つのファイル
[ルート@ k8smaster01 daima]#以上のsrc / COM /データ/ ParaMap.javaの 
パッケージcom.data。

輸入java.util.HashMapを;
輸入java.util.Map;

パブリッククラスParaMap {
  パブリック静的地図<文字列、文字列> GetMapリクエスト(){
      地図<文字列、文字列> sysParams =新規HashMapの<文字列、文字列>();
      sysParams.put( "localForceNewThread"、 "真");
      sysParams.put( "UUID"、 "28bcf60840f8416e8ea55ffe970c1623");
      sysParams.put( "ログ"、 "348a8a27e315e5a26c68a002.348a8a27e315e5a26c68a003.0");
      リターンsysParams;
  }
}

[ルート@ k8smaster01 daima]#以上のsrc / COM / JSON / Test.java 
パッケージcom.json。

輸入java.util.Map;
輸入com.data.ParaMap。
輸入com.google.gson.Gson;

パブリッククラスのテスト{
    公共の静的な無効メイン(文字列[] args){
        Gson gson =新しいGson()。
        地図<文字列、文字列> sysParams = ParaMap.getMap();
        文字列JSON = gson.toJson(sysParams)。
        System.out.println(JSON)。
    }

}

[ルート@ k8smaster01 daima]#
[ルート@ k8smaster01 daima]#clazzにコンパイルよりjavac.sh#コンパイラスクリプトファイル
#!/ binに/ bashの

PROCESS_NAME = test_javac
BASE_APP_HOME = "/データ/ジャワ/ daima /テスト"
ジャー= `LS $ {BASE_APP_HOME} / lib`
$ジャーでJARの
DO
        CLASSPATH = $ {BASE_APP_HOME} / LIB / $ジャー:$ CLASSPATH
行います

CLASSPATH = "$ {BASE_APP_HOME} / configに:$ {CLASSPATH}"
輸出CLASSPATH

エコー"CLASSPATH = $ {CLASSPATH}"
{} BASE_APP_HOME -name "* .javaファイル"> $ {} BASE_APP_HOME /sources.txt $を見つける
sourcesclazz = `猫の$ {} BASE_APP_HOME / sources.txt`
エコー"$ {} sourcesclazz"
javacの-encoding UTF-8 -cp $ {CLASSPATH} -d $ {BASE_APP_HOME} / clazz @ $ {BASE_APP_HOME} /sources.txt

[ルート@ k8smaster01 daima]# SH javac.sh#执行编译
CLASSPATH = /データ/ジャワ/ daima /テスト/設定:/data/java/daima/Test/lib/gson-2.3.jar:。:/データ/ javaの/ jdk18 / libに/ dt.jar:/data/java/jdk18/lib/tools.jar
/data/java/daima/Test/src/com/json/Test.java
/data/java/daima/Test/src/com/data/ParaMap.java
[ルート@ k8smaster01 daima]#のテスト/ clazz / -r CP COM /テスト/設定/#拷贝编译后的文件到設定目录
[ルート@ k8smaster01 daima] -lrt#LSをテスト/設定/
合計0
drwxr-XR-X 4ルートルート3月28日午後12時08 4 COM
[ルート@ k8smaster01 daima]# 

[ルート@ k8smaster01 daima]#以上java.sh#がコンパイルされたファイルを実行した後に
#を!/ binに/ bashの

PROCESS_NAME = test_java
BASE_APP_HOME = "/データ/ジャワ/ daima /テスト"
$ {BASE_APP_HOME}ジャー= `LS / lib`
$ジャーでJARの
DO
        CLASSPATH = $ {BASE_APP_HOME} / LIB / $ジャー:$ CLASSPATH
行わ
CLASSPATH =」 $ {BASE_APP_HOME} /設定:$ {CLASSPATH}」
エクスポートCLASSPATH
エコー"CLASSPATH = $ {CLASSPATH}"
のJava -cp $ {CLASSPATH} com.json.Test

[ルート@ k8smaster01 daima]# SH java.sh#运行编译后的文件、正常打印JSON串
CLASSPATH = /データ/ジャワ/ daima /テスト/設定:/data/java/daima/Test/lib/gson-2.3.jar:。:/データ/ジャワ/ jdk18 / LIB / DT。瓶:/data/java/jdk18/lib/tools.jar
{ "ログ": "348a8a27e315e5a26c68a002.348a8a27e315e5a26c68a003.0"、 "localForceNewThread": "真"、 "UUID":」
[ルート@ k8smaster01 daima]#

 

リンクします。https://pan.baidu.com/s/1ZLHiJ9fapVzjYV7BkIisrg関連するコード
 

公開された60元の記事 ウォン称賛20 ビュー4595

おすすめ

転載: blog.csdn.net/zhaikaiyun/article/details/104719598