差分表示


* 概要
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
指定可能なオプションは以下の通り
,construcorName,method with constructor name
,packageDefalutMethod,attempt to override package-default method 
,deprecation,usage of deprecated type or member
,maskedCatchBlocks,hidden catch block
,unusedLocals,local variable never read
,unusedArguments,method argument never read
,unusedImports,import statement not used by code in file
,none,suppress 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