āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐāļ āļēāļĐāļēāļāļĢāļąāđˆāļ‡āđ€āļĻāļŠāļŠāđ€āļ›āļ™

Ad


āđ„āļ­āļ„āļ­āļ™ Fav āļ‚āļ­āļ‡ OnWorks

ajc - āļ­āļ­āļ™āđ„āļĨāļ™āđŒāđƒāļ™āļ„āļĨāļēāļ§āļ”āđŒ

āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ ajc āđƒāļ™āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ‚āļŪāļŠāļ•āđŒāļŸāļĢāļĩāļ‚āļ­āļ‡ OnWorks āļœāđˆāļēāļ™ Ubuntu Online, Fedora Online, āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ‚āļ­āļ‡ Windows āļŦāļĢāļ·āļ­āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ‚āļ­āļ‡ MAC OS

āļ™āļĩāđˆāļ„āļ·āļ­āļ„āļģāļŠāļąāđˆāļ‡ ajc āļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđƒāļ™āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ‚āļŪāļŠāļ•āđŒāļŸāļĢāļĩāļ‚āļ­āļ‡ OnWorks āđ‚āļ”āļĒāđƒāļŠāđ‰āđ€āļ§āļīāļĢāđŒāļāļŠāđ€āļ•āļŠāļąāļ™āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļŸāļĢāļĩāļ‚āļ­āļ‡āđ€āļĢāļē āđ€āļŠāđˆāļ™ Ubuntu Online, Fedora Online, āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ‚āļ­āļ‡ Windows āļŦāļĢāļ·āļ­āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ‚āļ­āļ‡ MAC OS

āđ‚āļ„āļĢāļ‡āļāļēāļĢ:

āļŠāļ·āđˆāļ­


ajc — āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāđāļĨāļ° bytecode weaver āļŠāļģāļŦāļĢāļąāļšāļ āļēāļĐāļē AspectJ āđāļĨāļ° Java

āđ€āļĢāļ·āđˆāļ­āļ‡āļĒāđˆāļ­


AJC [ Options] [āđ„āļŸāļĨāđŒ... - -āđ„āļŸāļĨāđŒ... - -argfile āđ„āļŸāļĨāđŒ... ]

āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”


āļžāļ·āđ‰āļ™āļ—āļĩāđˆ AJC āļ„āļģāļŠāļąāđˆāļ‡āļ„āļ­āļĄāđ„āļžāļĨāđŒāđāļĨāļ°āļŠāļēāļ™āđ„āļŸāļĨāđŒāļ‹āļ­āļĢāđŒāļŠ AspectJ āđāļĨāļ° Java āđāļĨāļ°āđ„āļŸāļĨāđŒ .class āļāļēāļĢāļœāļĨāļīāļ•
āđ„āļŸāļĨāđŒ .class āļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļāļąāļš Java VM (1.1 āļŦāļĢāļ·āļ­āđƒāļŦāļĄāđˆāļāļ§āđˆāļē) āļĄāļąāļ™āļĢāļ§āļĄāļāļēāļĢāļĢāļ§āļšāļĢāļ§āļĄāđāļĨāļ°
bytecode āļ—āļ­āđāļĨāļ°āļĢāļ­āļ‡āļĢāļąāļšāļšāļīāļĨāļ”āđŒāļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™; āļ„āļļāļ“āļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļŠāļēāļ™ bytecode āļ—āļĩāđˆāļĢāļąāļ™āđ„āļ—āļĄāđŒ
āļāļēāļĢāđƒāļŠāđ‰ "" >.

āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļŦāļĨāļąāļ‡āļˆāļēāļāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļĢāļ°āļšāļļāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļšāļ—āļĩāđˆāļˆāļ°āļ„āļ­āļĄāđ„āļžāļĨāđŒ āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļē
āļ„āļĨāļēāļŠ āđƒāļŠāđ‰ -inpath (āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡). āđ„āļŸāļĨāđŒāļ­āļēāļˆāđāļŠāļ”āļ‡āļĢāļēāļĒāļāļēāļĢāđ‚āļ”āļĒāļ•āļĢāļ‡āļšāļ™āļšāļĢāļĢāļ—āļąāļ”āļ„āļģāļŠāļąāđˆāļ‡āļŦāļĢāļ·āļ­āđƒāļ™ a
āđ„āļŸāļĨāđŒ. -argfile āđ„āļŸāļĨāđŒ āđāļĨāļ° @āđ„āļŸāļĨāđŒ āļĢāļđāļ›āđāļšāļšāđ€āļ—āļĩāļĒāļšāđ€āļ—āđˆāļēāđāļĨāļ°āļ•āļĩāļ„āļ§āļēāļĄāļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ
āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆāļĢāļ°āļšāļļāđ„āļ§āđ‰āđƒāļ™āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĢāļ°āļšāļļ

āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ āļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļœāđˆāļēāļ™āļ­āļĒāđˆāļēāļ‡āļŠāļąāļ”āđ€āļˆāļ™ AJC āđāļŦāļĨāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļ­āļĒāđˆāļēāļĨāļ·āļĄāđƒāļŠāđˆāđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļē
āđ„āļĄāđˆāđ€āļžāļĩāļĒāļ‡āđāļ•āđˆāļŠāļģāļŦāļĢāļąāļšāļĨāļąāļāļĐāļ“āļ°āļŦāļĢāļ·āļ­ pointcuts āđāļ•āđˆāļŠāļģāļŦāļĢāļąāļšāļ›āļĢāļ°āđ€āļ āļ—āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļœāļĨāļāļĢāļ°āļ—āļšāļ”āđ‰āļ§āļĒ āļĢāļ°āļšāļļāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
source āļĄāļĩāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āđ€āļžāļĢāļēāļ°āđ„āļĄāđˆāđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļš javac, ajc āļˆāļ°āđ„āļĄāđˆāļ„āđ‰āļ™āļŦāļē sourcepath āļŠāļģāļŦāļĢāļąāļš
āļŠāļąāđ‰āļ™āđ€āļĢāļĩāļĒāļ™ (āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ­āļ āļīāļ›āļĢāļēāļĒāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ›āļĢāļ°āđ€āļ āļ—āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļœāļĨāļāļĢāļ°āļ—āļš āđƒāļŦāđ‰āļ”āļđāļ—āļĩāđˆ āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļĄāļļāļĄāļĄāļ­āļ‡J
āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ āļ„āļđāđˆāļĄāļ·āļ­ āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™ āļ āļēāļ„āļœāļ™āļ§āļ ../progguide/implementation.html) .

āđƒāļ™āļāļēāļĢāļĢāļ°āļšāļļāđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļē āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđāļŠāļ”āļ‡āļĢāļēāļĒāļāļēāļĢāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļšāđ€āļ›āđ‡āļ™āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļŦāļĢāļ·āļ­āđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ -āļ•āđ‰āļ™āļ—āļēāļ‡
or -inpath. āļŦāļēāļāļĄāļĩāļŦāļĨāļēāļĒāđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļēāļŠāļģāļŦāļĢāļąāļšāļ›āļĢāļ°āđ€āļ āļ—āđƒāļ” āđ† āļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļ°āđ„āļĄāđˆāļ–āļđāļāļāļģāļŦāļ™āļ”āļ•āļąāđ‰āļ‡āđāļ•āđˆ ajc
āđ„āļĄāđˆāļĄāļĩāļ—āļēāļ‡āļ•āļąāļ”āļŠāļīāļ™āđ„āļ”āđ‰āļ§āđˆāļēāđāļŦāļĨāđˆāļ‡āđƒāļ”āļ–āļđāļāļ•āđ‰āļ­āļ‡ (āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļšāđˆāļ­āļĒāļ—āļĩāđˆāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰
āļĢāļ§āļĄāđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩāļ›āļĨāļēāļĒāļ—āļēāļ‡āđƒāļ™ inpath āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āđƒāļŦāļĄāđˆ)

Options
-āļ­āļīāļ™āļˆāļēāļĢāđŒ JarList
āđ€āļĨāļīāļāđƒāļŠāđ‰āđāļĨāđ‰āļ§: āļ•āļąāđ‰āļ‡āđāļ•āđˆ 1.2 āđƒāļŠāđ‰ -inpath āļ‹āļķāđˆāļ‡āļĢāļąāļšāđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ”āđ‰āļ§āļĒ

-inpath āđ€āļŠāđ‰āļ™āļ—āļēāļ‡
āļĒāļ­āļĄāļĢāļąāļšāļ‹āļ­āļĢāđŒāļŠ bytecode āđƒāļ” āđ† āđ„āļŸāļĨāđŒ .class āđƒāļ™āļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļ°āļĢāļ§āļĄāđ„āļŸāļĨāđŒāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰
āļŠāļąāđ‰āļ™āđ€āļĢāļĩāļĒāļ™ āļ­āļēāļˆāļˆāļ°āđ€āļ›āđ‡āļ™āļāļēāļĢāļ—āļ­āļ”āđ‰āļ§āļĒāļĨāļąāļāļĐāļ“āļ°āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āđƒāļ”āđ† āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ€āļ”āļĩāļĒāļ§
āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ—āļĩāđˆāļĄāļĩāļĢāļēāļĒāļāļēāļĢāļžāļēāļ˜āđ„āļ›āļĒāļąāļ‡āđ„āļŸāļĨāđŒ zip āļŦāļĢāļ·āļ­āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩ āļ„āļąāđˆāļ™āļ”āđ‰āļ§āļĒ
āļ•āļąāļ§āļ„āļąāđˆāļ™āļžāļēāļ˜āđ€āļ‰āļžāļēāļ°āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ

-Aspectpath āđ€āļŠāđ‰āļ™āļ—āļēāļ‡
āļŠāļēāļ™āļĨāļąāļāļĐāļ“āļ°āđ„āļšāļ™āļēāļĢāļĩāļˆāļēāļāđ„āļŸāļĨāđŒ jar āđāļĨāļ°āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩāļšāļ™āļžāļēāļ˜āđ„āļ›āļĒāļąāļ‡āđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āļĨāļąāļāļĐāļ“āļ°āļ—āļĩāđˆāļ„āļ§āļĢāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļŠāđˆāļ‡āļ­āļ­āļāđ‚āļ”āļĒāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļĢāļļāđˆāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆ
āļāļēāļĢāļĢāļąāļ™āļ„āļĨāļēāļŠāđ€āļ­āļēāļ•āđŒāļžāļļāļ• run classpath āļ„āļ§āļĢāļĄāļĩ widthpath . āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āļĢāļēāļĒāļāļēāļĢ. āđ€āļŠāđ‰āļ™āļ—āļēāļ‡ āđ€āļŠāđˆāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļš classpath āđ€āļ›āđ‡āļ™āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđ€āļ”āļĩāļĒāļ§āļ—āļĩāđˆāļĄāļĩāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡āđ€āļŠāđ‰āļ™āļ—āļēāļ‡
āđ„āļ›āļĒāļąāļ‡āđ„āļŸāļĨāđŒ jar āļ„āļąāđˆāļ™āļ”āđ‰āļ§āļĒāļ•āļąāļ§āļ„āļąāđˆāļ™ classpath āđ€āļ‰āļžāļēāļ°āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ

-argfile āđ€āļ™āļ·āđ‰āļ­āđ„āļĄāđˆāļĄāļĩāļĄāļąāļ™
āđ„āļŸāļĨāđŒāļĄāļĩāļĢāļēāļĒāļāļēāļĢāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ—āļĩāđˆāļ„āļąāđˆāļ™āļ”āđ‰āļ§āļĒāļšāļĢāļĢāļ—āļąāļ” āđāļ•āđˆāļĨāļ°āļšāļĢāļĢāļ—āļąāļ”āđƒāļ™āđ„āļŸāļĨāđŒ
āļ„āļ§āļĢāļĄāļĩāļŦāļ™āļķāđˆāļ‡āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒ āļŦāļĢāļ·āļ­āļŠāļ•āļĢāļīāļ‡āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ (āđ€āļŠāđˆāļ™ classpath āļŦāļĢāļ·āļ­
āļ­āļīāļ™āļžāļēāļ—) āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ—āļĩāđˆāļ­āđˆāļēāļ™āļˆāļēāļāđ„āļŸāļĨāđŒāļˆāļ°āļ–āļđāļāđāļ—āļĢāļāļĨāļ‡āđƒāļ™āļĢāļēāļĒāļāļēāļĢāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļŠāļģāļŦāļĢāļąāļš
āļ„āļģāļŠāļąāđˆāļ‡ āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļŠāļąāļĄāļžāļąāļ—āļ˜āđŒāđƒāļ™āđ„āļŸāļĨāđŒāļ„āļģāļ™āļ§āļ“āļˆāļēāļāđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩ
āļĄāļĩāđ„āļŸāļĨāđŒ (āđ„āļĄāđˆāđƒāļŠāđˆāđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™) āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđ€āļŠāđˆāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļšāđƒāļ™ Java
āđ€āļĢāļīāđˆāļĄāļāļąāļš // āđāļĨāļ°āļ‚āļĒāļēāļĒāđ„āļ›āļˆāļ™āļŠāļļāļ”āļ›āļĨāļēāļĒāļŠāļēāļĒ āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļĢāļ°āļšāļļāđƒāļ™āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ
āđ„āļŸāļĨāđŒāļ­āļēāļˆāđāļ—āļ™āļ—āļĩāđˆāđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āļ‚āļĒāļēāļĒāļ„āđˆāļēāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ āļ”āļąāļ‡āļ™āļąāđ‰āļ™āđƒāļŦāđ‰āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡
āļĢāļ°āļšāļļāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđ€āļŠāđˆāļ™ -āļ„āļĨāļēāļŠāļžāļēāļ˜ āđƒāļ™āđ„āļŸāļĨāđŒāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ‹āļķāđˆāļ‡āđāļ•āļāļ•āđˆāļēāļ‡āļˆāļēāļ
āđ„āļŸāļĨāđŒāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āđ€āļ‰āļžāļēāļ°āļšāļīāļĨāļ”āđŒāđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ āđāļšāļšāļŸāļ­āļĢāđŒāļĄ @āđ„āļŸāļĨāđŒ āđ€āļ›āđ‡āļ™āđ€āļŠāđˆāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļš
āļĢāļ°āļšāļļ -argfile āđ„āļŸāļĨāđŒ.

-āļ™āļ­āļāļˆāļē āđ€āļ­āļēāļ—āđŒāļžāļļāļ—.āđ‚āļ–
āđƒāļŠāđˆāļ„āļĨāļēāļŠāđ€āļ­āļēāļ•āđŒāļžāļļāļ•āđƒāļ™āđ„āļŸāļĨāđŒ zip output.jar

-outxml āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒ aop.xml āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ­āļœāđ‰āļēāđ€āļ§āļĨāļēāđ‚āļŦāļĨāļ”āļ”āđ‰āļ§āļĒāļŠāļ·āđˆāļ­āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™

-outxmlfile āļāļģāļŦāļ™āļ”āđ€āļ­āļ‡/aop.xml
āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒ aop.xml āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ­āļœāđ‰āļēāđ€āļ§āļĨāļēāđ‚āļŦāļĨāļ”āļ”āđ‰āļ§āļĒāļŠāļ·āđˆāļ­āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡

- āđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™
āļĢāļąāļ™āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡ āļŦāļĨāļąāļ‡āļˆāļēāļāļāļēāļĢāļ„āļ­āļĄāđ„āļžāļĨāđŒāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļˆāļ°
āļĢāļ­āļ„āļ­āļĄāđ„āļžāļĨāđŒāđƒāļŦāļĄāđˆāļˆāļ™āļāļ§āđˆāļēāļˆāļ°āļ­āđˆāļēāļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆāļˆāļēāļāļ­āļīāļ™āļžāļļāļ•āļĄāļēāļ•āļĢāļāļēāļ™āđāļĨāļ° will
āļ­āļ­āļāđ€āļĄāļ·āđˆāļ­āļ­āđˆāļēāļ™ 'q' āļĄāļąāļ™āļˆāļ°āļ„āļ­āļĄāđ„āļžāļĨāđŒāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļŦāļĄāđˆāđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ āļ”āļąāļ‡āļ™āļąāđ‰āļ™ a
āļ„āļ­āļĄāđ„āļžāļĨāđŒāđƒāļŦāļĄāđˆāļ„āļ§āļĢāļˆāļ°āđ€āļĢāđ‡āļ§āļāļ§āđˆāļēāļāļēāļĢāļ„āļ­āļĄāđ„āļžāļĨāđŒāļ—āļĩāđˆāļŠāļ­āļ‡āļĄāļēāļ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļ•āđ‰āļ­āļ‡āļāļēāļĢ
- āļĢāļēāļāļ•āđ‰āļ™āļ—āļēāļ‡

-āļ•āđ‰āļ™āļ—āļēāļ‡ DirPaths
āļ„āđ‰āļ™āļŦāļēāđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļš .java āļŦāļĢāļ·āļ­ .aj āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ āļēāļĒāđƒāļ•āđ‰āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩāđƒāļ” āđ† āļ—āļĩāđˆāļĢāļ°āļšāļļāđ„āļ§āđ‰āđƒāļ™
āđ„āļ”āļĢāđŒāļžāļēāļ˜āļŠāđŒ. DirPaths āđ€āļŠāđˆāļ™ classpath āđ€āļ›āđ‡āļ™āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđ€āļ”āļĩāļĒāļ§āļ—āļĩāđˆāļĄāļĩāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡
āļžāļēāļ˜āđ„āļ›āļĒāļąāļ‡āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩ āļ„āļąāđˆāļ™āļ”āđ‰āļ§āļĒāļ•āļąāļ§āļ„āļąāđˆāļ™āļ„āļĨāļēāļŠāļžāļēāļ˜āđ€āļ‰āļžāļēāļ°āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ
āļ•āđ‰āļ­āļ‡āļāļēāļĢāđ‚āļ”āļĒ -incremental

-crossrefs
āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒ build .ajsym āļĨāļ‡āđƒāļ™āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩāđ€āļ­āļēāļ•āđŒāļžāļļāļ• āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ”āļđ
āļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ‚āļ§āđ‰āđ‚āļ”āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™ AspectJ Browser

-emacssym āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒāļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ .ajesym āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļ™āļąāļšāļŠāļ™āļļāļ™ emacs (āđ€āļĨāļīāļāđƒāļŠāđ‰āđāļĨāđ‰āļ§)

-Xlint āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļš -Xlint:warning (āđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™)

-Xlint:{āļĢāļ°āļ”āļąāļš}
āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļĢāļ°āļ”āļąāļšāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āđƒāļ™
āļĢāļŦāļąāļŠāļ•āļąāļ”āļ‚āļ§āļēāļ‡ {level} āļ­āļēāļˆāļ–āļđāļāļĨāļ°āđ€āļ§āđ‰āļ™ āļ„āļģāđ€āļ•āļ·āļ­āļ™ āļŦāļĢāļ·āļ­āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āđāļ—āļ™āļ—āļĩāđˆ
āļĢāļēāļĒāļāļēāļĢāđƒāļ™ org/aspectj/weaver/XlintDefault.properties āļˆāļēāļ widthjtools.jar āđāļ•āđˆ
āđ„āļĄāđˆāđāļ—āļ™āļ—āļĩāđˆāļĢāļ°āļ”āļąāļšāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ‚āļ”āļĒāđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ -Xlintfile

-Xlintfile āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđ„āļŸāļĨāđŒ
āļĢāļ°āļšāļļāđ„āļŸāļĨāđŒāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āļĢāļ°āļ”āļąāļšāļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ•āļąāļ”āļ‚āļ§āļēāļ‡āđ€āļ‰āļžāļēāļ°
PropertyFile āđ€āļ›āđ‡āļ™āļžāļēāļ˜āđ„āļ›āļĒāļąāļ‡āđ„āļŸāļĨāđŒ Java .properties āļ—āļĩāđˆāđƒāļŠāđ‰āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđ€āļ”āļĩāļĒāļ§āļāļąāļ™
āļŠāļ·āđˆāļ­āđāļĨāļ°āļ„āđˆāļēāđ€āļ›āđ‡āļ™ org/aspectj/weaver/XlintDefault.properties from
widthjtools.jar āļ‹āļķāđˆāļ‡āđāļ—āļ™āļ—āļĩāđˆāļ”āđ‰āļ§āļĒ

-help āļ›āļĨāđˆāļ­āļĒāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāđāļĨāļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™

-version āļ›āļĨāđˆāļ­āļĒāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ AspectJ

-āļ„āļĨāļēāļŠāļžāļēāļ˜ āđ€āļŠāđ‰āļ™āļ—āļēāļ‡
āļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļˆāļ°āļ„āđ‰āļ™āļŦāļēāđ„āļŸāļĨāđŒāļ„āļĨāļēāļŠāļœāļđāđ‰āđƒāļŠāđ‰ āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ€āļ›āđ‡āļ™āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđ€āļ”āļĩāļĒāļ§āļ—āļĩāđˆāļĄāļĩ a
āļĢāļēāļĒāļāļēāļĢāļžāļēāļ˜āđ„āļ›āļĒāļąāļ‡āđ„āļŸāļĨāđŒ zip āļŦāļĢāļ·āļ­āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩ āļ„āļąāđˆāļ™āļ”āđ‰āļ§āļĒāđ€āļ‰āļžāļēāļ°āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ
āļ•āļąāļ§āļ„āļąāđˆāļ™āđ€āļŠāđ‰āļ™āļ—āļēāļ‡

-bootclasspath āđ€āļŠāđ‰āļ™āļ—āļēāļ‡
āđāļ—āļ™āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ bootclasspath āļ‚āļ­āļ‡ VM āđ€āļžāļ·āđˆāļ­āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļ›āļĢāļ°āđ€āļ āļ—āđ€āļĄāļ·āđˆāļ­
āļāļēāļĢāļĢāļ§āļšāļĢāļ§āļĄ āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ€āļ›āđ‡āļ™āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđ€āļ”āļĩāļĒāļ§āļ—āļĩāđˆāļĄāļĩāļĢāļēāļĒāļāļēāļĢāļžāļēāļ˜āđ„āļ›āļĒāļąāļ‡āđ„āļŸāļĨāđŒ zip āļŦāļĢāļ·āļ­
āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩ āļ„āļąāđˆāļ™āļ”āđ‰āļ§āļĒāļ•āļąāļ§āļ„āļąāđˆāļ™āļžāļēāļ˜āđ€āļ‰āļžāļēāļ°āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ

-extdirs āđ€āļŠāđ‰āļ™āļ—āļēāļ‡
āđāļ—āļ™āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩāļŠāđˆāļ§āļ™āļ‚āļĒāļēāļĒāļ‚āļ­āļ‡ VM āđ€āļžāļ·āđˆāļ­āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļ›āļĢāļ°āđ€āļ āļ—
āđ€āļĄāļ·āđˆāļ­āļĢāļ§āļšāļĢāļ§āļĄ āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ€āļ›āđ‡āļ™āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđ€āļ”āļĩāļĒāļ§āļ—āļĩāđˆāļĄāļĩāļĢāļēāļĒāļāļēāļĢāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ„āļ›āļĒāļąāļ‡
āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩ āļ„āļąāđˆāļ™āļ”āđ‰āļ§āļĒāļ•āļąāļ§āļ„āļąāđˆāļ™āļžāļēāļ˜āđ€āļ‰āļžāļēāļ°āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ

-d āļ„āđ‰āļ™āļŦāļēāļŠāļ–āļēāļ™āļ—āļĩāđˆ
āļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļˆāļ°āļ§āļēāļ‡āđ„āļŸāļĨāđŒ .class āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™ āļŦāļēāļāđ„āļĄāđˆāļĢāļ°āļšāļļ āļ„āđ‰āļ™āļŦāļēāļŠāļ–āļēāļ™āļ—āļĩāđˆ
āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ›āđ‡āļ™ dir āļ—āļģāļ‡āļēāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™

- āđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒ [1.1 āđ„āļ›āļĒāļąāļ‡ 1.5]
āļĢāļ°āļšāļļāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒ classfile (1.1 āļ–āļķāļ‡ 1.5 āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­ 1.2)

-1.3 āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ 1.3 āļ‹āļķāđˆāļ‡āļŦāļĄāļēāļĒāļ–āļķāļ‡ -source 1.3 āđāļĨāļ° -target 1.1

-1.4 āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ 1.4 (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™) āļ‹āļķāđˆāļ‡āļŦāļĄāļēāļĒāļ–āļķāļ‡ -source 1.4 āđāļĨāļ° -target 1.2

-1.5 āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ 1.5 āļ™āļĩāđˆāļŦāļĄāļēāļĒāļ–āļķāļ‡ -source 1.5 āđāļĨāļ° -target 1.5

āļ—āļĩāđˆāļĄāļē- [1.3|1.4|1.5]
āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āđāļšāļšāļŠāļĨāļąāļš (1.3, 1.4 āļŦāļĢāļ·āļ­ 1.5 - āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­ 1.4) āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ -source 1.3
āļ„āļģāļŠāļąāđˆāļ‡ assert() āļ—āļĩāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡āļ āļēāļĒāđƒāļ•āđ‰ Java 1.4 āļˆāļ°āļŠāđˆāļ‡āļœāļĨāđƒāļŦāđ‰āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ‚āļ­āļ‡āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ
āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ -source 1.4 āđƒāļŦāđ‰āļĢāļąāļāļĐāļē āļĒāļ·āļ™āļĒāļąāļ™ āđ€āļ›āđ‡āļ™āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āđāļĨāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™
āļ•āļēāļĄāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āļ āļēāļĐāļē 1.4 āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ -source 1.5, Java 5 āļ āļēāļĐāļē
āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđ„āļ”āđ‰āļĢāļąāļšāļ­āļ™āļļāļāļēāļ•

-nowarn āđ„āļĄāđˆāļĄāļĩāļ„āļģāđ€āļ•āļ·āļ­āļ™ (āđ€āļ—āļĩāļĒāļšāđ€āļ—āđˆāļē '-warn:none') āļ‹āļķāđˆāļ‡āļˆāļ°āđ„āļĄāđˆāļĢāļ°āļ‡āļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āđ‚āļ”āļĒ āļ›āļĢāļ°āļāļēāļĻ āļ„āļģāđ€āļ•āļ·āļ­āļ™ or āđ€āļ­āđ‡āļāļ‹āđŒāļĨāļīāļ™āļ—āđŒ.

-āđ€āļ•āļ·āļ­āļ™: āļĢāļēāļĒāļāļēāļĢ
āļŠāđˆāļ‡āļ„āļģāđ€āļ•āļ·āļ­āļ™āļŠāļģāļŦāļĢāļąāļšāļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļ™āđˆāļēāļŠāļ‡āļŠāļąāļĒāļ‚āļ­āļ‡āļĢāļēāļĒāļāļēāļĢāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļ™āđˆāļēāļŠāļ‡āļŠāļąāļĒāļ—āļĩāđˆāļ„āļąāđˆāļ™āļ”āđ‰āļ§āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļˆāļļāļĨāļ āļēāļ„
(āđ€āļŠāđˆāļ™ '-warn:unusedLocals, deprecation'):

āđ€āļĄāļ˜āļ­āļ” constructorName āļžāļĢāđ‰āļ­āļĄāļŠāļ·āđˆāļ­āļ„āļ­āļ™āļŠāļ•āļĢāļąāļ„āđ€āļ•āļ­āļĢāđŒ
packageDefaultMethod āļžāļĒāļēāļĒāļēāļĄāđāļ—āļ™āļ—āļĩāđˆāļ§āļīāļ˜āļĩāļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‚āļ­āļ‡āđāļžāđ‡āļ„āđ€āļāļˆ
āļāļēāļĢāđ€āļĨāļīāļāđƒāļŠāđ‰āļ›āļĢāļ°āđ€āļ āļ—āļŦāļĢāļ·āļ­āļŠāļĄāļēāļŠāļīāļāļ—āļĩāđˆāđ€āļĨāļīāļāđƒāļŠāđ‰āđāļĨāđ‰āļ§
maskedCatchBlocks āļšāļĨāđ‡āļ­āļ catch āļ—āļĩāđˆāļ‹āđˆāļ­āļ™āļ­āļĒāļđāđˆ
unusedLocals āļ•āļąāļ§āđāļ›āļĢāļ—āđ‰āļ­āļ‡āļ–āļīāđˆāļ™āđ„āļĄāđˆāđ€āļ„āļĒāļ­āđˆāļēāļ™
āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāđ€āļĄāļ˜āļ­āļ” unusedArguments āđ„āļĄāđˆāđ€āļ„āļĒāļ­āđˆāļēāļ™
unusedImports āļ„āļģāļŠāļąāđˆāļ‡āļ™āļģāđ€āļ‚āđ‰āļēāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰āđ‚āļ”āļĒāļĢāļŦāļąāļŠāđƒāļ™āđ„āļŸāļĨāđŒ
āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāļĢāļ°āļ‡āļąāļšāļ„āļģāđ€āļ•āļ·āļ­āļ™āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļ—āļąāđ‰āļ‡āļŦāļĄāļ”

-warn:āđ„āļĄāđˆāļĄāļĩ āđ„āļĄāđˆāļĢāļ°āļ‡āļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđ‚āļ”āļĒ āļ›āļĢāļ°āļāļēāļĻ āļ„āļģāđ€āļ•āļ·āļ­āļ™ or āđ€āļ­āđ‡āļāļ‹āđŒāļĨāļīāļ™āļ—āđŒ.

-āļāļēāļĢāđ€āļĨāļīāļāđƒāļŠāđ‰
āđ€āļŠāđˆāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļš -warn:deprecation

-noImportError
āđ„āļĄāđˆāļĄāļĩāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ™āļģāđ€āļ‚āđ‰āļēāļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āđāļāđ‰āđ„āļ‚

-āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ•āđˆāļ­āđ„āļ›āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”
āļ„āļ­āļĄāđ„āļžāļĨāđŒāļ•āđˆāļ­āđ„āļ›āļŦāļĨāļąāļ‡āļˆāļēāļāđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” āļ”āļąāļĄāļžāđŒāđ„āļŸāļĨāđŒāļ„āļĨāļēāļŠāļ”āđ‰āļ§āļĒāļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļĩāđˆāļĄāļĩāļ›āļąāļāļŦāļē

-g:[lines,vars,āđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļē]
āļĢāļ°āļ”āļąāļšāđāļ­āļ•āļ—āļĢāļīāļšāļīāļ§āļ•āđŒāļāļēāļĢāļ”āļĩāļšāļąāļāļ‹āļķāđˆāļ‡āļ­āļēāļˆāļĄāļĩāļŠāļēāļĄāļĢāļđāļ›āđāļšāļš:

-g āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ”āļĩāļšāļąāļāļ—āļąāđ‰āļ‡āļŦāļĄāļ” ('-g:lines,vars,source')
-g:none āđ„āļĄāđˆāļĄāļĩāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ”āļĩāļšāļąāļ
-g:{items} āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ”āļĩāļšāļąāļāļŠāļģāļŦāļĢāļąāļš [lines, vars, source] āđƒāļ”āđ†/āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđ€āļŠāđˆāļ™
-g:āļšāļĢāļĢāļ—āļąāļ”āđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļē

- āļĢāļąāļāļĐāļē AllLocals
āļ„āļ‡āđ„āļ§āđ‰āļ‹āļķāđˆāļ‡āļ•āļąāļ§āđāļ›āļĢāļ—āđ‰āļ­āļ‡āļ–āļīāđˆāļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļ„āđ‰āļ” (āđ€āļžāļ·āđˆāļ­āļ­āļģāļ™āļ§āļĒāļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāļ”āļĩāļšāļąāļ)

-āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āđ‰āļēāļ‡āļ­āļīāļ‡
āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļāļēāļĢāļ„āļģāļ™āļ§āļ“

-āļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ āļĢāļđāļ›
āļĢāļ°āļšāļļāļĢāļđāļ›āđāļšāļšāļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāļ•āđ‰āļ™āļ—āļēāļ‡āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļĢāļ°āļšāļļāļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāđāļšāļšāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡āļ•āđˆāļ­āđ„āļŸāļĨāđŒ
āļžāļ·āđ‰āļ™āļāļēāļ™āđ‚āļ”āļĒāļāļēāļĢāļ•āđˆāļ­āļ—āđ‰āļēāļĒāļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒ/āđ‚āļŸāļĨāđ€āļ”āļ­āļĢāđŒāļ•āđ‰āļ™āļ—āļēāļ‡āļ­āļīāļ™āļžāļļāļ•āđāļ•āđˆāļĨāļ°āđ„āļŸāļĨāđŒāļ”āđ‰āļ§āļĒ '[āļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ]'

-verbose āļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļŦāļ™āđˆāļ§āļĒāļāļēāļĢāļĢāļ§āļšāļĢāļ§āļĄāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļ–āļķāļ‡/āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ

-showWeaveInfo
āļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļ—āļ­āļœāđ‰āļē

- āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļĢāļ°āļšāļš āđ„āļŸāļĨāđŒ āļĢāļ°āļšāļļāļĨāđ‡āļ­āļāđ„āļŸāļĨāđŒāļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ

-progress āđāļŠāļ”āļ‡āļ„āļ§āļēāļĄāļ„āļ·āļšāļŦāļ™āđ‰āļē (āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ‚āļŦāļĄāļ”āļšāļąāļ™āļ—āļķāļ)

-time āđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§

-noExit āļ­āļĒāđˆāļēāđ€āļĢāļĩāļĒāļ System.exit(n) āđ€āļĄāļ·āđˆāļ­āļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļĢāļ§āļšāļĢāļ§āļĄ (n=0 āļŦāļēāļāđ„āļĄāđˆāļĄāļĩāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”)

-āļ—āļģāļ‹āđ‰āļģ N āļ—āļģāļ‹āđ‰āļģāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļĢāļ§āļšāļĢāļ§āļĄ N āļ„āļĢāļąāđ‰āļ‡ (āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āļˆāļ°āļ—āļģāļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž)

-XterminateAfterCompilation
āļ—āļģāđƒāļŦāđ‰āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļŦāļĒāļļāļ”āļ—āļģāļ‡āļēāļ™āļāđˆāļ­āļ™āļ—āļ­

-XaddSerialVersionUID
āļ—āļģāđƒāļŦāđ‰āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļ„āļģāļ™āļ§āļ“āđāļĨāļ°āđ€āļžāļīāđˆāļĄāļŸāļīāļĨāļ”āđŒ SerialVersionUID āđƒāļŦāđ‰āļāļąāļšāļ›āļĢāļ°āđ€āļ āļ—āđƒāļ”āļāđ‡āđ„āļ”āđ‰
āļāļēāļĢāđƒāļŠāđ‰ Serializable āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļœāļĨāļāļĢāļ°āļ—āļšāļˆāļēāļāļ”āđ‰āļēāļ™āļŦāļ™āļķāđˆāļ‡ āļŠāļ™āļēāļĄāļ„āļ·āļ­
āļ„āļģāļ™āļ§āļ“āļˆāļēāļāļŠāļąāđ‰āļ™āđ€āļĢāļĩāļĒāļ™āļāđˆāļ­āļ™āļāļēāļĢāļ—āļ­āļœāđ‰āļēāļˆāļ°āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™

-Xreweavable[:āļšāļĩāļšāļ­āļąāļ”]
(āļ—āļ”āļĨāļ­āļ‡ - āđ€āļĨāļīāļāđƒāļŠāđ‰āđāļĨāđ‰āļ§āļ•āļēāļĄāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™) āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļœāļđāđ‰āļ›āļĢāļ°āļāļ­āļšāđƒāļ™āđ‚āļŦāļĄāļ”āļ—āļĩāđˆāļ—āļģāļ‹āđ‰āļģāđ„āļ”āđ‰āļ‹āļķāđˆāļ‡
āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļŠāļąāđ‰āļ™āļāļēāļĢāļ—āļ­āļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āļ—āļ­āļ‚āļķāđ‰āļ™āđƒāļŦāļĄāđˆāđ„āļ”āđ‰āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļš
āļ‚āđ‰āļ­āļŦāđ‰āļēāļĄāđƒāļ™āļāļēāļĢāļžāļĒāļēāļĒāļēāļĄāļ—āļ­āļœāđ‰āļēāđƒāļŦāļĄāđˆāļ—āļļāļāļ›āļĢāļ°āđ€āļ āļ—āļ—āļĩāđˆāđāļ™āļ°āļ™āļģāļāļēāļĢāļ—āļ­
āļ›āļĢāļ°āđ€āļ āļ—āļˆāļ°āļ•āđ‰āļ­āļ‡āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ„āļ”āđ‰

-Xnoāļ­āļīāļ™āđ„āļĨāļ™āđŒ
(āļ—āļ”āļĨāļ­āļ‡) āđ„āļĄāđˆāļ­āļīāļ™āđ„āļĨāļ™āđŒāļĢāļ­āļšāļ„āļģāđāļ™āļ°āļ™āļģ

-XincreationalFile āđ„āļŸāļĨāđŒ
(āļ—āļ”āļĨāļ­āļ‡) āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āđ€āļŦāļĄāļ·āļ­āļ™āđ‚āļŦāļĄāļ”āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™ āđāļ•āđˆāđƒāļŠāđ‰āđ„āļŸāļĨāđŒāđāļ—āļ™
āļ­āļīāļ™āļžāļļāļ•āļĄāļēāļ•āļĢāļāļēāļ™āđ€āļžāļ·āđˆāļ­āļ„āļ§āļšāļ„āļļāļĄāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ āļĄāļąāļ™āļˆāļ°āļ„āļ­āļĄāđ„āļžāļĨāđŒāđƒāļŦāļĄāđˆāļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāđ„āļŸāļĨāđŒ is
āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļĨāļ°āļŦāļĒāļļāļ”āđ€āļĄāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ–āļđāļāļĨāļš

-XserializableAspects
(āļ—āļ”āļĨāļ­āļ‡) āđ‚āļ”āļĒāļ›āļāļ•āļīāļĄāļąāļ™āđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ”āđ‰āļēāļ™ Serializable āļ™āļĩāđ‰
āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļĨāļšāļ‚āđ‰āļ­ āļˆāļģāļāļąāļ” āļ™āļąāđ‰āļ™

-Xnotāļ™āļģāļāļĨāļąāļšāļĄāļēāđƒāļŠāđ‰āđƒāļŦāļĄāđˆāđ„āļ”āđ‰
(āļ—āļ”āļĨāļ­āļ‡) āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒāļ„āļĨāļēāļŠāļ—āļĩāđˆ AspectJ āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āđƒāļŦāļĄāđˆāđ„āļ”āđ‰āđƒāļ™āļ āļēāļĒāļŦāļĨāļąāļ‡

-Xajruntimelevel:1.2, āļĢāļ°āļ”āļąāļšāđ€āļ§āļĨāļē ajrun:1.5
(āļ—āļ”āļĨāļ­āļ‡) āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļŠāļĢāđ‰āļēāļ‡āđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāđ€āļ›āđ‡āļ™ 1.2 āļŦāļĢāļ·āļ­ 1.5 āļĢāļ°āļ”āļąāļš
āļĢāļąāļ™āđ„āļ—āļĄāđŒ AspectJ (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ 1.5)

āđ€āļ™āļ·āđ‰āļ­āđ„āļĄāđˆāļĄāļĩāļĄāļąāļ™ āļŠāļ·āđˆāļ­
ajc āļĒāļ­āļĄāļĢāļąāļšāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļšāļ”āđ‰āļ§āļĒ .āļŠāļ§āļē āļŠāđˆāļ§āļ™āļ‚āļĒāļēāļĒāļŦāļĢāļ·āļ­ .āļ­āļēāļˆ āļŠāđˆāļ§āļ™āļ‚āļĒāļēāļĒ. āđ€āļĢāļē
āļ›āļāļ•āļīāđƒāļŠāđ‰ .āļŠāļ§āļē āļŠāļģāļŦāļĢāļąāļšāđ„āļŸāļĨāđŒāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡āđ€āļĢāļēāđƒāļ™āļĢāļ°āļšāļš AspectJ -- āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĄāļĩāļ”āđ‰āļēāļ™āļ•āđˆāļēāļ‡āđ†
āđ€āļŠāđˆāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļšāđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĄāļĩāļ„āļĨāļēāļŠ āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļŦāļēāļāļ„āļļāļ“āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļˆāļąāļāļĢ
āđāļĒāļāđāļĒāļ°āđ„āļŸāļĨāđŒāļ—āļĩāđˆāđƒāļŠāđ‰āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāļ‚āļ­āļ‡ AspectJ āļāļąāļšāđ„āļŸāļĨāđŒāļ—āļĩāđˆāļšāļĢāļīāļŠāļļāļ—āļ˜āļīāđŒ
Java āđ€āļĢāļēāđāļ™āļ°āļ™āļģāđƒāļŦāđ‰āđƒāļŠāđ‰ the .āļ­āļēāļˆ āļ™āļēāļĄāļŠāļāļļāļĨāļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāđ€āļŦāļĨāđˆāļēāļ™āļąāđ‰āļ™

āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļĩāļ”āļāļąāļ™āļ§āļīāļ˜āļĩāļ­āļ·āđˆāļ™ āđ† āļ‚āļ­āļ‡āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ—āļēāļ‡āļāļĨāđ€āļŠāđˆāļ™āļ­āļ™āļļāļŠāļąāļāļāļēāļāļēāļĢāļ•āļąāđ‰āļ‡āļŠāļ·āđˆāļ­
āļŦāļĢāļ·āļ­āđāļžāđ‡āļ„āđ€āļāļˆāļĒāđˆāļ­āļĒāđ€āļžāļ·āđˆāļ­āļŠāļ™āļąāļšāļŠāļ™āļļāļ™ .āļ­āļēāļˆ āļāļēāļĢāļ‚āļĒāļēāļĒ.

· āļ‚āđ‰āļ­āļ•āļāļĨāļ‡āđ€āļĢāļ·āđˆāļ­āļ‡āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ™āļąāđ‰āļ™āļĒāļēāļāļ•āđˆāļ­āļāļēāļĢāļšāļąāļ‡āļ„āļąāļšāđƒāļŠāđ‰āđāļĨāļ°āļ™āļģāđ„āļ›āļŠāļđāđˆāļŠāļ·āđˆāļ­āļ—āļĩāđˆāļ™āđˆāļēāļ­āļķāļ”āļ­āļąāļ”āļŠāļģāļŦāļĢāļąāļšāđāļ‡āđˆāļĄāļļāļĄāļ‚āļ­āļ‡āļ„āļļāļ“
āđāļ—āļ™ TracingAspect.java āđ€āļĢāļēāđāļ™āļ°āļ™āļģāđƒāļŦāđ‰āđƒāļŠāđ‰ Tracing.aj (āļŦāļĢāļ·āļ­āđ€āļžāļĩāļĒāļ‡āđāļ„āđˆ Tracing.java)
āđāļ—āļ™.

· āđāļžāđ‡āļ„āđ€āļāļˆāļĒāđˆāļ­āļĒāļĒāđ‰āļēāļĒāđāļ‡āđˆāļĄāļļāļĄāļ•āđˆāļēāļ‡ āđ† āļ­āļ­āļāļˆāļēāļāļ—āļĩāđˆāļ›āļāļ•āļīāđƒāļ™āļĢāļ°āļšāļšāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡
āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ—āļĩāļĒāļĄāđƒāļ™āļ”āđ‰āļēāļ™āļŠāļīāļ—āļ˜āļīāļžāļīāđ€āļĻāļĐ āđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āđ€āļžāļīāđˆāļĄāđāļžāđ‡āļ„āđ€āļāļˆāļĒāđˆāļ­āļĒāđ€āļŠāđˆāļ™
āļ”āđ‰āļēāļ™ āđ€āļĢāļēāđāļ™āļ°āļ™āļģāđƒāļŦāđ‰āđƒāļŠāđ‰ .āļ­āļēāļˆ āļ™āļēāļĄāļŠāļāļļāļĨāđāļĨāļ°āļĢāļ§āļĄāļ–āļķāļ‡āđ„āļŸāļĨāđŒāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđƒāļ™ your
āđāļžāđ‡āļ„āđ€āļāļˆāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđāļ—āļ™

āļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰
AspectJ āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ‚āļĒāļēāļĒāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļāļąāļšāļ āļēāļĐāļēāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ Java āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ AspectJ
āļĒāļķāļ”āļĄāļąāđˆāļ™āđƒāļ™ āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļŠāļ§āļē āļ āļēāļĐāļē āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļģāđ€āļžāļēāļ° āļ—āļĩāđˆāļŠāļ­āļ‡ āļ‰āļšāļąāļšāļ—āļĩāđˆ (āļŦāļ™āļąāļ‡āļŠāļ·āļ­)
http://java.sun.com/docs/books/jls/index.html āđāļĨāļ°āđ„āļ›āļ—āļĩāđˆ āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļŠāļ§āļē āđ€āļŠāļĄāļ·āļ­āļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡
āļŠāđ€āļ›āļ„ āļ—āļĩāđˆāļŠāļ­āļ‡ āļ‰āļšāļąāļšāļ—āļĩāđˆ (āļŦāļ™āļąāļ‡āļŠāļ·āļ­) http://java.sun.com/docs/books/vmspec/index.html āđāļĨāļ°
āļ—āļģāļ‡āļēāļ™āļšāļ™āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļāļąāļš Java 2 āļĢāļŦāļąāļŠāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ—āļģāļ‡āļēāļ™āļšāļ™ Java 1.1 āļŦāļĢāļ·āļ­
āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āđƒāļ™āļ āļēāļĒāļŦāļĨāļąāļ‡ āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļāļąāļš Java āđāļĨāļ°āļāļąāļš
AspectJ āļĢāļļāđˆāļ™āļāđˆāļ­āļ™āļŦāļ™āđ‰āļē āļ”āļđ "" >.

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
A āļ‡āđˆāļēāļĒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡

āļĢāļ§āļšāļĢāļ§āļĄāļŠāļ­āļ‡āđ„āļŸāļĨāđŒ:

ajc HelloWorld.java Trace.java

An āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļāļēāļĢāđƒāļŠāđ‰ -argfile/@

āđ€āļžāļ·āđˆāļ­āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡āļāļēāļĢāļĢāļ°āļšāļļāļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļšāļ™āļšāļĢāļĢāļ—āļąāļ”āļ„āļģāļŠāļąāđˆāļ‡ āđƒāļŦāđ‰āđāļŠāļ”āļ‡āļĢāļēāļĒāļāļēāļĢāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļšāđƒāļ™ line-delimited
āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ argfile.jpg āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ—āļēāļ‡āļ­āļēāļˆāđ€āļ›āđ‡āļ™āđāļšāļšāļŠāļąāļĄāļšāļđāļĢāļ“āđŒāļŦāļĢāļ·āļ­āļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļāļąāļš argfile āđāļĨāļ°āļ­āļēāļˆāļˆāļ°
āļĢāļ§āļĄ argfiles āļ­āļ·āđˆāļ™ āđ† āđ‚āļ”āļĒ @-reference āđ„āļŸāļĨāđŒāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰ source.lst āļĄāļĩ
āđ„āļŸāļĨāđŒāđāļšāļšāļŠāļąāļĄāļšāļđāļĢāļ“āđŒāđāļĨāļ°āđāļšāļšāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāđāļĨāļ° @-references:

Gui.java
/home/user/src/Library.java
āļ‚āđ‰āļ­āļĄāļđāļĨ/Repository.java
āļ‚āđ‰āļ­āļĄāļđāļĨ/Access.java
@../../common/common.lst
@/home/user/src/lib.lst
āļ”āļđ/body/ArrayView.java

āļĢāļ§āļšāļĢāļ§āļĄāđ„āļŸāļĨāđŒāđ‚āļ”āļĒāđƒāļŠāđ‰āļĢāļđāļ›āđāļšāļš -argfile āļŦāļĢāļ·āļ­ @:

ajc -argfile source.lst
ajc @sources.lst

Argfiles āļĒāļąāļ‡āļĢāļ­āļ‡āļĢāļąāļšāđ‚āļ”āļĒ jikes āđāļĨāļ° javac āļ”āļąāļ‡āļ™āļąāđ‰āļ™āļ„āļļāļ“āļˆāļķāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļŸāļĨāđŒāđƒāļ™āđ„āļŪāļšāļĢāļīāļ”āļšāļīāļĨāļ”āđŒāđ„āļ”āđ‰
āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļāļēāļĢāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āļˆāļ°āđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āđ„āļ›:

· āđ€āļ‰āļžāļēāļ° ajc āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™āļ—āļĩāđˆāļĒāļ­āļĄāļĢāļąāļšāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļšāļĢāļĢāļ—āļąāļ”āļ„āļģāļŠāļąāđˆāļ‡

· Jikes āđāļĨāļ° Javac āđ„āļĄāđˆāļĒāļ­āļĄāļĢāļąāļšāļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ @argfile āļ āļēāļĒāđƒāļ™

· Jikes āđāļĨāļ° Javac āļĒāļ­āļĄāļĢāļąāļšāđ€āļ‰āļžāļēāļ°āđāļšāļšāļŸāļ­āļĢāđŒāļĄ @file āļšāļ™āļšāļĢāļĢāļ—āļąāļ”āļ„āļģāļŠāļąāđˆāļ‡

An āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļāļēāļĢāđƒāļŠāđ‰ -inpath āđāļĨāļ° -Aspectpath

āļāļēāļĢāļ—āļ­āđ‚āļ„āđ‰āļ”āđ„āļšāļ•āđŒāđ‚āļ”āļĒāđƒāļŠāđ‰ -inpath: AspectJ 1.2 āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļ—āļ­āđ„āļŸāļĨāđŒ .class āđƒāļ™āļ­āļīāļ™āļžāļļāļ• zip/jar
āđ„āļŸāļĨāđŒāđāļĨāļ°āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩ āļāļēāļĢāđƒāļŠāđ‰ jars āļ­āļīāļ™āļžāļļāļ•āļāđ‡āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļšāļāļēāļĢāļ„āļ­āļĄāđ„āļžāļĨāđŒāļ‹āļ­āļĢāđŒāļŠāđ„āļŸāļĨāđŒāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡
āđāļĨāļ°āđ„āļšāļ™āļēāļĢāļĩāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļ°āļ–āļđāļāļŠāđˆāļ‡āđ„āļ›āļĒāļąāļ‡āđ€āļ­āļēāļ•āđŒāļžāļļāļ• āđāļĄāđ‰āļ§āđˆāļēāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļāļąāļš Java āļ­āļēāļˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āđƒāļ™
āđ€āļ­āļēāļ•āđŒāļžāļļāļ• ajc āļ„āļ§āļĢāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™āļ­āļīāļ™āļžāļļāļ•āđ„āļŸāļĨāđŒāļ„āļĨāļēāļŠāđƒāļ” āđ† āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđ‚āļ”āļĒ javac, jikes, eclipse
āđāļĨāļ°āđāļ™āđˆāļ™āļ­āļ™ ajc āļ”āđ‰āļēāļ™āļ—āļĩāđˆāļĢāļ§āļĄāļ­āļĒāļđāđˆāđƒāļ™ -inpath āļˆāļ°āļ–āļđāļāļ–āļąāļāļ—āļ­āđ€āļŦāļĄāļ·āļ­āļ™ .class . āļ­āļ·āđˆāļ™āđ†
āđ„āļŸāļĨāđŒāļ•āđˆāļēāļ‡āđ† āđāļĨāļ°āļˆāļ°āļĄāļĩāļœāļĨāļāļąāļšāđ„āļŸāļĨāđŒāļ›āļĢāļ°āđ€āļ āļ—āļ­āļ·āđˆāļ™āđ† āļ•āļēāļĄāļ›āļāļ•āļī

āđ„āļĨāļšāļĢāļēāļĢāļĩ Aspect āđ‚āļ”āļĒāđƒāļŠāđ‰ -aspectpath: AspectJ 1.1 āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļ—āļ­āļˆāļēāļāđ„āļĨāļšāļĢāļēāļĢāļĩāđāļšāļšāļ­āđˆāļēāļ™āļ­āļĒāđˆāļēāļ‡āđ€āļ”āļĩāļĒāļ§
āļ—āļĩāđˆāļĄāļĩāđāļ‡āđˆāļĄāļļāļĄāļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļšāđ‚āļ–āļ­āļīāļ™āļžāļļāļ• āļŠāļīāđˆāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļŠāđˆāļ‡āļœāļĨāļ•āđˆāļ­āļ­āļīāļ™āļžāļļāļ•āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđ„āļĄāđˆāđ€āļŦāļĄāļ·āļ­āļ™āđ‚āļ–āđƒāļŠāđˆ āļžāļ§āļāđ€āļ‚āļē
āļ•āļąāļ§āđ€āļ­āļ‡āļˆāļ°āđ„āļĄāđˆāđ„āļ”āđ‰āļĢāļąāļšāļœāļĨāļāļĢāļ°āļ—āļšāļŦāļĢāļ·āļ­āļ›āļĨāđˆāļ­āļĒāļ­āļ­āļāļĄāļēāđ€āļ›āđ‡āļ™āļœāļĨāļœāļĨāļīāļ• āđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļēāļ—āļĩāđˆāļĢāļ§āļšāļĢāļ§āļĄāļ”āđ‰āļ§āļĒāđ„āļĨāļšāļĢāļēāļĢāļĩāļ”āđ‰āļēāļ™
āļ•āđ‰āļ­āļ‡āļĢāļąāļ™āļ”āđ‰āļ§āļĒāđ„āļĨāļšāļĢāļēāļĢāļĩāļ”āđ‰āļēāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļšāļ™ classpath

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āļŠāļĢāđ‰āļēāļ‡āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļšāļĢāļĢāļ—āļąāļ”āļĢāļąāļšāļ„āļģāļŠāļąāđˆāļ‡ āļĄāļąāļ™āļŠāļĢāđ‰āļēāļ‡
āđ„āļĨāļšāļĢāļēāļĢāļĩāļ”āđ‰āļēāļ™āđāļšāļšāļ­āđˆāļēāļ™āļ­āļĒāđˆāļēāļ‡āđ€āļ”āļĩāļĒāļ§ āļĢāļ§āļšāļĢāļ§āļĄāļšāļēāļ‡āļ„āļĨāļēāļŠāđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āđ€āļ›āđ‡āļ™āļ­āļīāļ™āļžāļļāļ• bytecode āđāļĨāļ°āļ„āļ­āļĄāđ„āļžāļĨāđŒ
āļ„āļĨāļēāļŠāđāļĨāļ°āđāļŦāļĨāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļ·āđˆāļ™āđ† āļ”āđ‰āļ§āļĒāđ„āļĨāļšāļĢāļēāļĢāļĩāļ”āđ‰āļēāļ™

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļ­āļĒāļđāđˆāđƒāļ™āļāļēāļĢāļāļĢāļ°āļˆāļēāļĒ AspectJ ({aspectj}/doc/examples/tracing) āļ™āļĩāđ‰
āđƒāļŠāđ‰āđ„āļŸāļĨāđŒāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰:

āļ”āđ‰āļēāļ™j1.1/
āļ–āļąāļ‡āļ‚āļĒāļ°/
AJC
lib /
āļĄāļļāļĄāļĄāļ­āļ‡jrt.jar
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ /
āļ•āļīāļ”āļ•āļēāļĄ /
Circle.java
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Main.java
lib /
AbstractTrace.java
TraceMyClasses.java
notrace.lst
Square.java
Traclib.lst
Tracev3.lst
TwoDShape.java
āļĢāļļāđˆāļ™3/
Trace.java
TraceMyClasses.java

āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡ āļ•āļąāļ§āļ„āļąāđˆāļ™āļžāļēāļ˜āļˆāļ°āļ–āļđāļāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™ ";" āđāļ•āđˆāļ•āļąāļ§āļ„āļąāđˆāļ™āđ„āļŸāļĨāđŒāļ„āļ·āļ­ "/" āļ„āļģāļŠāļąāđˆāļ‡āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ„āļ·āļ­
āđƒāļ™āļšāļĢāļĢāļ—āļąāļ”āđ€āļ”āļĩāļĒāļ§ āļ›āļĢāļąāļšāļžāļēāļ˜āđāļĨāļ°āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ‚āļ­āļ‡āļ„āļļāļ“āļ•āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ

āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļžāļēāļ˜ classpath āđāļĨāļ°āđ„āļ”āđ€āļĢāđ‡āļāļ—āļ­āļĢāļĩāļ›āļąāļˆāļˆāļļāļšāļąāļ™:

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‹āļĩāļ”āļĩ
āļŠāđˆāļ‡āļ­āļ­āļ ajrt=../lib/aspectjrt.jar
āļŠāđˆāļ‡āļ­āļ­āļ CLASSPATH="$ajrt"
āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļāļēāļĢāļŠāđˆāļ‡āļ­āļ­āļ="../ bin:$āđ€āļŠāđ‰āļ™āļ—āļēāļ‡"

āļŠāļĢāđ‰āļēāļ‡āđ„āļĨāļšāļĢāļēāļĢāļĩāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāđāļšāļšāļ­āđˆāļēāļ™āļ­āļĒāđˆāļēāļ‡āđ€āļ”āļĩāļĒāļ§:

ajc -argfile āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄ/tracelib.lst -outjar tracelib.jar

āļŠāļĢāđ‰āļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāđƒāļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđ€āļ”āļĩāļĒāļ§:

ajc -aspectpath tracelib.jar -argfile āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄ/notrace.lst -outjar tracedapp.jar

āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄ:

java -classpath "$ajrt;tracedapp.jar;tracelib.jar" āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļŦāļĨāļąāļ

āļŠāļĢāđ‰āļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļˆāļēāļāđ„āļšāļ™āļēāļĢāļĩāđƒāļ™āļŠāļ­āļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™:

· (a) āļŠāļĢāđ‰āļēāļ‡āļ„āļĨāļēāļŠāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ (āđƒāļŠāđ‰ javac āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļŠāļēāļ˜āļīāļ•):

mkdir āļ„āļĨāļēāļŠ
javac -d āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļ„āļĨāļēāļŠ/*.java
jar cfM app.jar -C āļ„āļĨāļēāļŠ

· (b) āļŠāļĢāđ‰āļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄ:

ajc -inpath app.jar -aspectpath tracelib.jar -outjar āļ—āļĩāđˆāļ•āļīāļ”āļ•āļēāļĄāđāļ­āļ›.jar

āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ”āđ‰āļ§āļĒāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄ (āđ€āļŦāļĄāļ·āļ­āļ™āļ”āđ‰āļēāļ™āļšāļ™):

java -classpath "$ajrt;tracedapp.jar;tracelib.jar" āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļŦāļĨāļąāļ

āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āļīāļ”āļ•āļēāļĄ:

java -classpath "app.jar" tracing.ExampleMain

āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļĄāļļāļĄāļĄāļ­āļ‡J āļœāļđāđ‰āļĢāļ§āļšāļĢāļ§āļĄ API
āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ AspectJ āļ–āļđāļāļ™āļģāđ„āļ›āđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļĄāļšāļđāļĢāļ“āđŒāđƒāļ™ Java āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđ„āļ”āđ‰āļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ„āļĨāļēāļŠ Java
āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āđ€āļ”āļĩāļĒāļ§āļ—āļĩāđˆāļ„āļ§āļĢāļ–āļ·āļ­āđ€āļ›āđ‡āļ™āļŠāļēāļ˜āļēāļĢāļ“āļ°āļ„āļ·āļ­āļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļēāļ˜āļēāļĢāļ“āļ°āđƒāļ™
org.aspectj.tools.ajc.Main. āđ€āļŠāđˆāļ™, āļŦāļĨāļąāļ(āļŠāļ•āļĢāļīāļ‡[] āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ) āđƒāļŠāđ‰āļĄāļēāļ•āļĢāļāļēāļ™ AJC āļ„āļģāļŠāļąāđˆāļ‡
āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļšāļĢāļĢāļ—āļąāļ” āļ‹āļķāđˆāļ‡āļŦāļĄāļēāļĒāļ„āļ§āļēāļĄāļ§āđˆāļēāļ§āļīāļ˜āļĩāļ­āļ·āđˆāļ™āđƒāļ™āļāļēāļĢāļĢāļąāļ™āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļ„āļ·āļ­

āļŠāļ§āļē org.aspectj.tools.ajc.Main [āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ...] [āđ„āļŸāļĨāđŒ...]

āđƒāļ™āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāđ‚āļ”āļĒāļ—āļēāļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ āđƒāļŦāđ‰āđƒāļŠāđ‰āđ€āļĄāļ˜āļ­āļ” setHolder(IMessageHolder
āļ—āļĩāđˆāļĒāļķāļ”) āđāļĨāļ° / āļŦāļĢāļ·āļ­ āļ§āļīāđˆāļ‡(āļŠāļ•āļĢāļīāļ‡[] āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒ IMessageāļœāļđāđ‰āļ–āļ·āļ­ āļ—āļĩāđˆāļĒāļķāļ”). AJC āļĢāļēāļĒāļ‡āļēāļ™āđāļ•āđˆāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļ›āļĒāļąāļ‡
āļœāļđāđ‰āļ–āļ·āļ­āđƒāļŠāđ‰ IMessageHolder.handleMessage(..). āļŦāļēāļāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ§āļšāļĢāļ§āļĄāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
āđƒāļŠāđ‰ āļ•āļąāļ§āļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āđ€āļ›āđ‡āļ™āļ‚āļ­āļ‡āļ„āļļāļ“ IMessageāļœāļđāđ‰āļ–āļ·āļ­. āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļ„āļ­āļĄāđ„āļžāļĨāđŒāđāļĨāļ°āļĢāļąāļ™ the
āļ•āļēāļĄāļ”āđ‰āļ§āļĒ Aspectjtools.jar āļšāļ™āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļ‚āļ­āļ‡āļŠāļąāđ‰āļ™āđ€āļĢāļĩāļĒāļ™:

āļ™āļģāđ€āļ‚āđ‰āļē org.aspectj.bridge.*;
āļ™āļģāđ€āļ‚āđ‰āļē org.aspectj.tools.ajc.Main;
āļ™āļģāđ€āļ‚āđ‰āļē java.util.Arrays;

WrapAjc āļ„āļĨāļēāļŠāļŠāļēāļ˜āļēāļĢāļ“āļ° {
āđ‚āļĄāļ†āļ°āļ„āļ‡āļ—āļĩāđˆāļŠāļēāļ˜āļēāļĢāļ“āļ° main (String [] args) {
āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļŦāļĨāļąāļ = āđƒāļŦāļĄāđˆ Main();
MessageHandler m = MessageHandler āđƒāļŦāļĄāđˆ ();
compiler.run (args, āļĄ.);
IMessage[] ms = m.getMessages(null, āļˆāļĢāļīāļ‡);
System.out.println("messages: " + āļ­āļēāļĢāđŒāđ€āļĢāļĒāđŒ.asList(āļ™āļēāļ‡āļŠāļēāļ§));
}
}

āļāļ­āļ‡ āļĢāđˆāļ­āļ‡āļĢāļ­āļĒ āđāļĨāļ° āđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļš āļ„āļļāļ“āļĨāļąāļāļĐāļ“āļ°
āđ„āļĄāđˆāđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļšāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāļˆāļēāļ§āļēāļ—āļąāđˆāļ§āđ„āļ› āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ AspectJ āļ­āļēāļˆāļŠāļĢāđ‰āļēāļ‡āđƒāļ™āļšāļēāļ‡āļāļĢāļ“āļĩ
classfiles āļˆāļēāļāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļšāļŦāļĨāļēāļĒāđ„āļŸāļĨāđŒ āļ™āđˆāļēāđ€āļŠāļĩāļĒāļ”āļēāļĒāļ—āļĩāđˆāļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāļ„āļĨāļēāļŠ Java āļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ
āđ„āļĄāđˆāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āđāļ­āļ•āļ—āļĢāļīāļšāļīāļ§āļ•āđŒ SourceFile āļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļšāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āļĄāļĩāļ‚āđ‰āļ­āļĄāļđāļĨ āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ AspectJ āļ­āļēāļˆāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāļŦāļĨāļēāļĒāļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāđƒāļ™āļšāļēāļ‡āļāļĢāļ“āļĩ
āđƒāļ™āđāļ­āļ•āļ—āļĢāļīāļšāļīāļ§āļ•āđŒ SourceFile āđ€āļĄāļ·āđˆāļ­ Java VM āļŠāļĢāđ‰āļēāļ‡āļŠāđāļ•āđ‡āļāđ€āļ—āļĢāļ‹ āļˆāļ°āđƒāļŠāđ‰āļŠāļīāđˆāļ‡āļ™āļĩāđ‰
āđāļ­āļ•āļ—āļĢāļīāļšāļīāļ§āļ•āđŒāđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ—āļēāļ‡

(āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ AspectJ 1.0 āļĒāļąāļ‡āļĢāļ­āļ‡āļĢāļąāļšāļ™āļēāļĄāļŠāļāļļāļĨāđ„āļŸāļĨāđŒ .class āļ‚āļ­āļ‡ JSR-45 āļ­āļĩāļāļ”āđ‰āļ§āļĒ
āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļ”āļĩāļšāļąāļāđ€āļāļ­āļĢāđŒāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰ (āđ€āļŠāđˆāļ™ jdb āđƒāļ™ Java 1.4.1) āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāđ„āļŸāļĨāđŒāđāļĨāļ°āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡
āđāļĄāđ‰āļāļĢāļ°āļ—āļąāđˆāļ‡āđƒāļŦāđ‰āđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļšāļˆāļģāļ™āļ§āļ™āļĄāļēāļāļŠāļģāļŦāļĢāļąāļšāļ„āļĨāļēāļŠāđ€āļ”āļĩāļĒāļ§ āļĄāļĩāļāļēāļĢāļ§āļēāļ‡āđāļœāļ™āļĢāļ­āļ‡āļĢāļąāļš JSR-45 āļŠāļģāļŦāļĢāļąāļš ajc in
AspectJ 1.1 āđāļ•āđˆāđ„āļĄāđˆāđ„āļ”āđ‰āļ­āļĒāļđāđˆāđƒāļ™āļĢāļĩāļĨāļĩāļŠāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āđƒāļ™āļāļēāļĢāļĢāļąāļšāđ„āļŸāļĨāđŒ .class āļ—āļĩāđˆāđāļāđ‰āļˆāļļāļ”āļšāļāļžāļĢāđˆāļ­āļ‡āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļĄāļšāļđāļĢāļ“āđŒ āđƒāļŦāđ‰āđƒāļŠāđ‰
āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ -XnoInline)

āļ­āļēāļˆāļĄāļĩāļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§āļ—āļĩāđˆāļ„āļļāļ“āļˆāļ°āđ€āļŦāđ‡āļ™āļĢāļđāļ›āđāļšāļšāļ™āļĩāđ‰āļ„āļ·āļ­āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āļ”āļđāļŠāđāļ•āđ‡āļāđ€āļ—āļĢāļ‹ āļ‹āļķāđˆāļ‡āļ„āļļāļ“
āļ­āļēāļˆāļžāļšāļĢāđˆāļ­āļ‡āļĢāļ­āļĒāļ‚āļ­āļ‡āļĢāļđāļ›āđāļšāļš

java.lang.NullPointerException
āļ—āļĩāđˆ Main.new$constructor_call37(Main.java;SynchAspect.java[1k]:1030)

āļ—āļĩāđˆāđ„āļŦāļ™āđāļ—āļ™āļ›āļāļ•āļī

āđ„āļŸāļĨāđŒ:LineNumber

āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļ„āļļāļ“āđ€āļŦāđ‡āļ™

File0;File1[Number1];File2[Number2] ... :LineNumber

āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰ LineNumber āļ„āļ·āļ­āļ­āļ­āļŸāđ€āļ‹āđ‡āļ•āļ›āļāļ•āļīāđƒāļ™āļšāļĢāļĢāļ—āļąāļ”āļšāļ§āļāļāļąāļš "āļšāļĢāļĢāļ—āļąāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™" āļ‚āļ­āļ‡āļˆāļĢāļīāļ‡
āđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ—āļēāļ‡ āļ™āļąāđˆāļ™āļŦāļĄāļēāļĒāļ„āļ§āļēāļĄāļ§āđˆāļēāļ„āļļāļ“āđƒāļŠāđ‰ LineNumber āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ—āļēāļ‡āđāļĨāļ°āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļē
āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ›āļąāļāļŦāļē āļ•āļąāļ§āđ€āļĨāļ‚āđƒāļ™ [āļ§āļ‡āđ€āļĨāđ‡āļš] āļŦāļĨāļąāļ‡āļˆāļēāļāđāļ•āđˆāļĨāļ°āđ„āļŸāļĨāđŒāļšāļ­āļāļ„āļļāļ“āļ§āđˆāļē "start ." āđ€āļŠāļĄāļ·āļ­āļ™
āļšāļĢāļĢāļ—āļąāļ”" āļŠāļģāļŦāļĢāļąāļšāđ„āļŸāļĨāđŒāļ™āļąāđ‰āļ™ (āđ„āļŸāļĨāđŒāđāļĢāļāļĄāļĩāļˆāļļāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ›āđ‡āļ™ 0)

āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļ­āļ‡āđ€āļĢāļēāļˆāļēāļāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļ‚āđ‰āļ­āļĒāļāđ€āļ§āđ‰āļ™āļ•āļąāļ§āļŠāļĩāđ‰ null āļšāļĢāļĢāļ—āļąāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļŠāļĄāļ·āļ­āļ™āļ„āļ·āļ­ 1030
āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļŸāļĨāđŒ SynchAspect.java "āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™" āļ—āļĩāđˆāļšāļĢāļĢāļ—āļąāļ” 1000 [1k] LineNumber āļŠāļĩāđ‰āđ„āļ›āļ—āļĩāđˆāļšāļĢāļĢāļ—āļąāļ”
30 āļ‚āļ­āļ‡ SynchAspect.java

āļ”āļąāļ‡āļ™āļąāđ‰āļ™ āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āđ€āļœāļŠāļīāļāļāļąāļšāļŠāđāļ•āđ‡āļāđ€āļ—āļĢāļ‹āļ”āļąāļ‡āļāļĨāđˆāļēāļ§ āļ§āļīāļ˜āļĩāļ„āđ‰āļ™āļŦāļēāļ•āļģāđāļŦāļ™āđˆāļ‡āļ•āđ‰āļ™āļ—āļēāļ‡āļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡āļ„āļ·āļ­to
āļ”āļđāļĢāļēāļĒāļāļēāļĢāļŦāļĄāļēāļĒāđ€āļĨāļ‚ "āļšāļĢāļĢāļ—āļąāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™" āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ•āđ‰āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāđāļŠāļ”āļ‡
āļ•āļąāļ§āđ€āļĨāļ‚. āļ™āļąāđˆāļ™āļ„āļ·āļ­āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āļ„āđ‰āļ™āļŦāļēāļ•āļģāđāļŦāļ™āđˆāļ‡āļ•āđ‰āļ™āļ—āļēāļ‡āđ„āļ”āđ‰āļˆāļĢāļīāļ‡ āļˆāļēāļāļ™āļąāđ‰āļ™āļĨāļš
āļ§āđˆāļē "āļšāļĢāļĢāļ—āļąāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™" āļˆāļēāļāļŦāļĄāļēāļĒāđ€āļĨāļ‚āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāđāļŠāļ”āļ‡āđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāļŦāļĄāļēāļĒāđ€āļĨāļ‚āļšāļĢāļĢāļ—āļąāļ”āļˆāļĢāļīāļ‡āļ āļēāļĒāđƒāļ™āļ™āļąāđ‰āļ™
āđ„āļŸāļĨāđŒ

āđƒāļ™āđ„āļŸāļĨāđŒāļ„āļĨāļēāļŠāļ—āļĩāđˆāļĄāļēāļˆāļēāļāđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļšāđ€āļžāļĩāļĒāļ‡āđ„āļŸāļĨāđŒāđ€āļ”āļĩāļĒāļ§ āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ AspectJ āļˆāļ°āļŠāļĢāđ‰āļēāļ‡
āđāļ­āļ•āļ—āļĢāļīāļšāļīāļ§āļ•āđŒ SourceFile āļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļšāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ Java āđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ

AJC(1)

āđƒāļŠāđ‰ ajc āļ­āļ­āļ™āđ„āļĨāļ™āđŒāđ‚āļ”āļĒāđƒāļŠāđ‰āļšāļĢāļīāļāļēāļĢ onworks.net


āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒāđāļĨāļ°āđ€āļ§āļīāļĢāđŒāļāļŠāđ€āļ•āļŠāļąāļ™āļŸāļĢāļĩ

āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļ­āļž Windows & Linux

āļ„āļģāļŠāļąāđˆāļ‡ Linux

Ad