目次

概要

AspectJ同梱docディレクトリのファイル ajc-ref.html の要約です。
ajcコマンドは AspectJとJava言語のファイルをコンパイルし、アスペクトを任意のJavaVM(1.1以降)準拠のクラスファイルにweaving(以下織り込み)する。
ajc [Options] [files... | @files | -argfile file...]
オプションの後の引数でコンパイル対象のソースファイルを指定する。指定の仕方はコマンドライン引数として直接与えるかファイルに列挙する。-argfileと@fileの指定の仕方は同じ意味で、指定したファイルに全てのコンパイル対象ファイルが列挙されていることを意味する。これらファイル中の任意の行は一つのオプションかファイル名を持つ。Java言語仕様にあるように、//から行末まではコメント扱いとなる。

【注意】コンパイルするaspectや pointcutに関連する全てのファイルにパスが通るようにする必要がある。何故ならば、javacとは異なり、ajcはクラスのsourcepathを検索しないからである。-sourcerootsオプションで全ての.ajと.javaファイルを含むディレクトリで指定した方がよい。

ajcオプション一覧

inpath, injars, aspectpath, outjar,argfile,incremental, sourceroots, emacssym, Xlint,
Xlintfile, classpath(又はcp), bootclasspath, d, encoding, 1.3, 1.4, source, target,
deprecation, nowarn, warn:[色々], g:[色々], log, proceedOnError, verbose, referenceInfo,
progress, time, noExit, repeat, help(又は ?), version(又は v), showversion

options

-injars

オプション-inpathにこの機能が含まれるので、使う必要なし。

-inpath Path

Path上のZipファイルかディレクトリ上の任意の.classファイルをソースバイトコードとする。出力はこれらのクラスとなり、適用可能ならaspectを織り込んだものとなる。 Pathは単一引数で、システム依存のパスデリミタ(:か;)で区切られたZipファイルかディレクトリ。

-argfile File

省略

-outjar output.jar

出力クラスをoutput.jarにまとめて出力する。

-incremental

コンパイラを継続的に動作させる。最初のコンパイル後、STDINを待ってwaitする。'q'の入力があると終了する。これは必要なコンポーネントのみのrecompileとなるので、普通に2回目のコンパイルをするより早く済むだろう。-sourcerootsオプションが必須である。

-sourceroots DirPath?

DirPath?配下の任意の .java及び.ajソースファイルを見つけ、buildする。 classpathと同じように、DirPath?はシステム依存のパスデリミタで区切られた ディレクトリパス名の単一引数である。-incrementalの必須要素である。

-emacssym

emacs向け機能だから知らない。

-Xlint

デフォルトで有効な -Xlint:waringと同じオプション。

-Xlintfile PropertyFile?

crosscutting messagesのレベルを定めるためのプロパティファイルを指定する。 PropertyFile?は Javaの .propertiesファイルのパスである。 aspectjtools.jarにある org/aspectj/weaver/XlintDefault?.propertiesの中身と 同じ名前、値を持つプロパティを上書きする場合に利用する。

-help

ヘルプとUsageを出力する。

-version

AspectJコンパイラのバージョンを出力する。

-classpath Path

ユーザ指定のクラスファイルの検索パスを指定する。Pathはシステム依存の パスデリミタで区切られたZipファイルパス名かディレクトリパス名の単一引数である。

-bootclasspath Path

コンパイル時に型を評価(evaluating types)するためにJavaVMのbootclasspathを上書きする。 Pathはシステム依存のパスデリミタで区切られたZipファイルパス名か ディレクトリパス名の単一引数である。

-extdirs Path

コンパイル時に型を評価(evaluating types)するためにJavaVMのインストール済み 拡張機能の位置を上書きする。 Pathはシステム依存のパスデリミタで区切られたZipファイルパス名か ディレクトリパス名の単一引数である。

-d Directory

生成したクラスファイルの置き場所を指定する。指定がない場合のデフォルトは CWDである。

-target [1.1 to 1.4]

クラスファイルのターゲットとするVMのバージョンである。

-1.3

1.3準拠のクラスファイルを出力する。

-1.4

1.4準拠のクラスファイルを出力する。 -targetオプションの説明に1.2がデフォと書いてある割に、こっちにもデフォと書いてある。Documentataion bug?

-source [1.3|1.4]

javacの -sourceオプションに準じた動作を行う。

-nowarn

  • warn:noneと同等のオプションで、全ての警告を出力しない。

-warn:items

警告対象を指定する。指定可能なオプションは以下の通り。カンマで区切って複数指定できる。
指定例:
-warn:unusedLocals,deprecation
指定可能なオプションは以下の通り
construcorNamemethod with constructor name
packageDefalutMethodattempt to override package-default method
deprecationusage of deprecated type or member
maskedCatchBlockshidden catch block
unusedLocalslocal variable never read
unusedArgumentsmethod argument never read
unusedImportsimport statement not used by code in file
nonesuppress all compiler warnings
  • warn:noneは宣言の警告(declare warning)やXlintの出力の抑制は行わない。

-deprecation

  • warn:deprecationと同じ

-noImportError

未解決なimportに関するエラーを出力しない

-proceedOnError

エラーがあってもエラーを含んだままクラスファイルを出力する

-g:[lines,vars,source]

javacの-gオプションの動作に準ずる

-preserveAllLocals

コード生成の間、全てのローカル変数を保持する

-referenceInfo

参照情報を計算する

-encoding format

ソースコードのフォーマットを指定する。

-verbose

ビルドの手続きの際のログをちょっと出す(javac/javaのverboseとは全然違う)

-log logfile

コンパイル時の出力メッセージをlogfileに保存する

-progress

状況を表示する。(-log mode必須)

-time

かかった時間を出力する(らしいが・・・)

-noExit

ビルド完了後にExitしない

-repeat N

パフォーマンス計測用オプション。N回ビルドを繰り返す

Last-modified: 2006-01-13 17:41:16