InglesPransesEspanyol

Ad


OnWorks favicon

ajc - Online sa Cloud

Patakbuhin ang ajc sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command ajc na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


ajc — compiler at bytecode weaver para sa mga wikang AspectJ at Java

SINOPSIS


ajc [Options] [file ... | @file ... | -argfile file ... ]

paglalarawan


Ang ajc kino-compile at hinahabi ng command ang AspectJ at Java source at .class na mga file, na gumagawa
.class na mga file na sumusunod sa anumang Java VM (1.1 o mas bago). Pinagsasama nito ang compilation at
bytecode weaving at sumusuporta sa mga incremental build; maaari ka ring maghabi ng bytecode sa run-time
paggamit "" >.

Ang mga argumento pagkatapos ng mga opsyon ay tumutukoy sa (mga) source file upang i-compile. Upang tukuyin ang pinagmulan
mga klase, gamitin -inpath (sa ibaba). Maaaring direktang nakalista ang mga file sa command line o sa a
file. Ang -argfile file at @file ang mga anyo ay katumbas, at binibigyang kahulugan bilang kahulugan
lahat ng mga argumento na nakalista sa tinukoy na file.

tandaan: Dapat kang tahasang pumasa ajc lahat ng kinakailangang mapagkukunan. Tiyaking isama ang pinagmulan
hindi lamang para sa mga aspeto o pointcuts kundi pati na rin sa anumang apektadong uri. Tinutukoy ang lahat
Ang mga mapagkukunan ay kinakailangan dahil, hindi tulad ng javac, hindi hinahanap ng ajc ang sourcepath para sa
mga klase. (Para sa talakayan kung anong mga apektadong uri ang maaaring kailanganin, tingnan Ang AspetoJ
Programming Gabay, Pagsasakatuparan Apendiks ../progguide/implementation.html) .

Upang tukuyin ang mga pinagmulan, maaari mong ilista ang mga source file bilang mga argumento o gamitin ang mga opsyon -sourceroots
or -inpath. Kung mayroong maraming mga mapagkukunan para sa anumang uri, ang resulta ay hindi natukoy mula noong ajc
walang paraan upang matukoy kung aling pinagmulan ang tama. (Madalas itong nangyayari kapag ang mga gumagamit
isama ang direktoryo ng patutunguhan sa inpath at muling buuin.)

Options
-injars JarList
hindi na ginagamit: mula noong 1.2, gumamit ng -inpath, na kumukuha din ng mga direktoryo.

-inpath Landas
Tanggapin bilang source bytecode ang anumang .class na mga file sa The output ay isasama ang mga ito
mga klase, posibleng hinabi sa anumang naaangkop na aspeto. Ang landas ay iisa
argumento na naglalaman ng isang listahan ng mga path upang mag-zip ng mga file o direktoryo, na nililimitahan ng
ang path delimiter na partikular sa platform.

-aspectpath Landas
Ihabi ang mga binary na aspeto mula sa mga file ng jar at mga direktoryo sa landas sa lahat ng mga mapagkukunan.
Ang mga aspeto ay dapat na output ng parehong bersyon ng compiler. Kailan
pagpapatakbo ng mga klase ng output, ang run classpath ay dapat maglaman ng lahat ng aspectpath
mga entry. Ang Path, tulad ng classpath, ay isang solong argumento na naglalaman ng isang listahan ng mga path
sa mga jar file, na nililimitahan ng delimiter ng classpath na partikular sa platform.

-argfile talaksan
Ang file ay naglalaman ng isang line-delimited na listahan ng mga argumento. Ang bawat linya sa file
dapat maglaman ng isang opsyon, filename, o argument string (hal., isang classpath o
inpath). Ang mga argumentong nabasa mula sa file ay ipinasok sa listahan ng argumento para sa
ang utos. Ang mga kamag-anak na landas sa file ay kinakalkula mula sa direktoryo
naglalaman ng file (hindi ang kasalukuyang gumaganang direktoryo). Mga komento, tulad ng sa Java,
Magsimula sa // at pahabain hanggang sa dulo ng linya. Mga opsyon na tinukoy sa argumento
maaaring i-override ang mga file sa halip na palawigin ang mga umiiral nang value ng opsyon, kaya iwasan
pagtukoy ng mga opsyon tulad ng -classpath sa mga file ng argumento hindi katulad ng
argument file ay ang tanging detalye ng build. Ang porma @file ay pareho
tumutukoy -argfile file.

-outjar output.jar
Ilagay ang mga output class sa zip file output.jar.

-outxml Bumuo ng aop.xml file para sa load-time weaving na may default na pangalan.

-outxmlfile custom/aop.xml
Bumuo ng aop.xml file para sa load-time weaving gamit ang custom na pangalan.

-incremental
Patakbuhin ang compiler nang tuluy-tuloy. Pagkatapos ng paunang compilation, gagawin ng compiler
maghintay na mag-recompile hanggang sa mabasa nito ang isang bagong linya mula sa karaniwang input, at gagawin
huminto kapag nagbasa ito ng 'q'. Irecompile lang nito ang mga kinakailangang sangkap, kaya a
ang recompile ay dapat na mas mabilis kaysa sa paggawa ng pangalawang compile. Nangangailangan ito
-sourceroots.

-sourceroots DirPaths
Hanapin at buuin ang lahat ng .java o .aj source file sa ilalim ng anumang direktoryo na nakalista
DirPaths. Ang DirPaths, tulad ng classpath, ay isang solong argumento na naglalaman ng isang listahan ng
mga landas patungo sa mga direktoryo, na nililimitahan ng delimiter ng classpath na partikular sa platform.
Kinakailangan ng -incremental.

-crossrefs
Bumuo ng build .ajsym file sa output directory. Ginagamit para sa pagtingin
crosscutting reference sa pamamagitan ng mga tool tulad ng AspectJ Browser.

-emacssym Bumuo ng mga file ng simbolo ng .ajesym para sa suporta sa emacs (hindi na ginagamit).

-Xlint Pareho sa -Xlint:babala (pinagana bilang default)

-Xlint:{level}
Itakda ang default na antas para sa mga mensahe tungkol sa mga potensyal na pagkakamali sa programming
crosscutting code. Maaaring balewalain, babala, o error ang {level}. Ino-override ito
mga entry sa org/aspectj/weaver/XlintDefault.properties mula sa aspectjtools.jar, ngunit
hindi override ang mga antas na itinakda gamit ang -Xlintfile na opsyon.

-Xlintfile PropertyFile
Tukuyin ang file ng mga katangian upang magtakda ng mga antas para sa mga partikular na mensahe ng crosscutting.
Ang PropertyFile ay isang path patungo sa isang Java .properties file na kumukuha ng parehong property
mga pangalan at value bilang org/aspectj/weaver/XlintDefault.properties mula sa
aspectjtools.jar, na na-override din nito.

-help Maglabas ng impormasyon sa mga opsyon at paggamit ng compiler

-bersyon Ilabas ang bersyon ng AspectJ compiler

-classpath Landas
Tukuyin kung saan mahahanap ang mga file ng klase ng user. Ang Path ay isang solong argumento na naglalaman ng a
listahan ng mga path upang mag-zip ng mga file o direktoryo, na nililimitahan ng partikular sa platform
delimiter ng landas.

-bootclasspath Landas
I-override ang lokasyon ng bootclasspath ng VM para sa mga layunin ng pagsusuri ng mga uri kung kailan
pagsasama-sama. Ang Path ay isang argumento na naglalaman ng isang listahan ng mga path para mag-zip ng mga file o
mga direktoryo, na nililimitahan ng delimiter ng landas na partikular sa platform.

-extdirs Landas
I-override ang lokasyon ng mga direktoryo ng extension ng VM para sa mga layunin ng pagsusuri ng mga uri
kapag nag-compile. Ang Path ay isang solong argumento na naglalaman ng isang listahan ng mga path patungo sa
mga direktoryo, na nililimitahan ng delimiter ng landas na partikular sa platform.

-d Directory
Tukuyin kung saan ilalagay ang mga nabuong .class na file. Kung hindi tinukoy, Directory
default sa kasalukuyang gumaganang dir.

-target [1.1 sa 1.5]
Tukuyin ang setting ng target ng classfile (1.1 hanggang 1.5, ang default ay 1.2)

-1.3 Itakda ang antas ng pagsunod sa 1.3 Ito ay nagpapahiwatig -source 1.3 at -target 1.1.

-1.4 Itakda ang antas ng pagsunod sa 1.4 (default) Ito ay nagpapahiwatig -source 1.4 at -target 1.2.

-1.5 Itakda ang antas ng pagsunod sa 1.5. Ito ay nagpapahiwatig -source 1.5 at -target 1.5.

-pinagmulan [1.3|1.4|1.5]
I-toggle ang mga assertion (1.3, 1.4, o 1.5 - ang default ay 1.4). Kapag gumagamit ng -source 1.3,
isang assert() statement na wasto sa ilalim ng Java 1.4 ay magreresulta sa isang error sa compiler.
Kapag gumagamit ng -source 1.4, gamutin igiit bilang isang keyword at ipatupad ang mga assertion
ayon sa 1.4 spec ng wika. Kapag gumagamit ng -source 1.5, Java 5 na wika
pinahihintulutan ang mga tampok.

-nowarn Huwag maglabas ng mga babala (katumbas ng '-warn:none') Hindi nito pinipigilan ang mga mensahe
nabuo ng magpahayag babala or Xlint.

-balaan: item
Maglabas ng mga babala para sa anumang mga pagkakataon ng listahan ng pinagdududahan ng kuwit na code
(hal. '-warn:unusedLocals, deprecation'):

constructorName method na may constructor name
Ang packageDefaultMethod ay sinubukang i-override ang package-default na paraan
paghinto sa paggamit ng hindi na ginagamit na uri o miyembro
maskedCatchBlocks nakatagong catch block
hindi nabasa ang lokal na variable na hindi nagamitLocals
hindi nabasa ang argumento ng pamamaraang hindi nagamit na Arguments
unusedImports import statement na hindi ginagamit ng code sa file
walang pumipigil sa lahat ng babala ng compiler

-babala:wala ay hindi pinipigilan ang mga mensaheng nabuo ng magpahayag babala or Xlint.

-pagwawalang-bahala
Kapareho ng -warn:deprecation

-noImportError
Walang mga error para sa hindi nalutas na mga pag-import

-proceedOnError
Panatilihin ang pag-compile pagkatapos ng error, paglalaglag ng mga file ng klase na may mga pamamaraan ng problema

-g:[lines,vars,source]
antas ng mga katangian ng pag-debug, na maaaring may tatlong anyo:

-g lahat ng impormasyon sa pag-debug ('-g:lines,vars,source')
-g:wala walang impormasyon sa pag-debug
-g:{items} debug info para sa anuman/lahat ng [linya, vars, source], hal,
-g:lines, source

-preserveAllLocals
Panatilihin ang lahat ng lokal na variable sa panahon ng pagbuo ng code (upang mapadali ang pag-debug).

-referenceInfo
I-compute ang reference na impormasyon.

-encoding format
Tukuyin ang default na source encoding format. Tukuyin ang custom na pag-encode sa bawat file
batayan sa pamamagitan ng paglalagay ng suffix sa bawat input source file/pangalan ng folder na may '[encoding]'.

-verbose Maglabas ng mga mensahe tungkol sa mga na-access/naprosesong compilation unit

-showWeaveInfo
Maglabas ng mga mensahe tungkol sa paghabi

-log file Tumukoy ng log file para sa mga mensahe ng compiler.

-progress Ipakita ang pag-unlad (nangangailangan ng -log mode).

-time Ipakita ang bilis ng impormasyon.

-noExit Huwag tawagan ang System.exit(n) sa dulo ng compilation (n=0 kung walang error)

-ulitin N Ulitin ang proseso ng compilation ng N beses (karaniwang para magsagawa ng performance analysis).

-XterminateAfterCompilation
Nagiging sanhi ng pagwawakas ng compiler bago maghabi

-XaddSerialVersionUID
Nagiging sanhi ng compiler upang kalkulahin at idagdag ang SerialVersionUID field sa anumang uri
pagpapatupad ng Serializable na apektado ng isang aspeto. Ang patlang ay
kinakalkula batay sa klase bago maganap ang paghabi.

-Xreweavable[:compress]
(Experimental - hindi na ginagamit bilang default na ngayon) Nagpapatakbo ng weaver sa reweavable mode kung saan
nagiging sanhi ito upang lumikha ng mga habi na klase na maaaring ihabi muli, napapailalim sa
paghihigpit na sa pagtatangka ng isang reweave ang lahat ng mga uri na pinapayuhan ang pinagtagpi
dapat naa-access ang uri.

-XnoInline
(Experimental) huwag mag-inline sa paligid ng payo

-XincrementalFile file
(Eksperimento) Gumagana ito tulad ng incremental mode, ngunit gumagamit ng isang file sa halip na
karaniwang input para makontrol ang compiler. Ito ay muling mag-compile sa bawat oras na ang file ay
binago at at huminto kapag ang file ay tinanggal.

-XserializableAspects
(Eksperimento) Karaniwan ay isang error ang pagdeklara ng mga aspeto na Serializable. Ito
inaalis ng opsyon ang paghihigpit na iyon.

-XnotReweavable
(Eksperimento) Lumikha ng mga file ng klase na hindi maaaring muling paghabi ng AspectJ.

-Xajruntimelevel:1.2, ajruntimelevel:1.5
(Eksperimento) Nagbibigay-daan na mabuo ang code na nagta-target ng 1.2 o 1.5 na antas
AspectJ runtime (default 1.5)

talaksan pangalan
Tumatanggap ang ajc ng mga source file na may alinman sa .Java extension o ang .aj extension. Kami
karaniwang ginagamit .Java para sa lahat ng aming mga file sa isang AspectJ system -- mga file na naglalaman ng mga aspeto
pati na rin ang mga file na naglalaman ng mga klase. Gayunpaman, kung mayroon kang pangangailangan sa mekanikal
makilala ang mga file na gumagamit ng karagdagang functionality ng AspectJ mula sa mga dalisay
Java inirerekumenda namin ang paggamit ng .aj extension para sa mga file na iyon.

Gusto naming pigilan ang iba pang paraan ng mekanikal na pagkakaiba gaya ng pagbibigay ng pangalan sa mga convention
o mga sub-package na pabor sa .aj karugtong

· Ang mga filename convention ay mahirap ipatupad at humantong sa mga awkward na pangalan para sa iyong mga aspeto.
Sa halip ng TracingAspect.java inirerekumenda namin ang paggamit Pagsubaybay.aj (o kaya lang Tracing.java)
sa halip.

· Ang mga sub-package ay naglilipat ng mga aspeto mula sa kanilang natural na lugar sa isang sistema at maaaring lumikha ng isang
artipisyal na pangangailangan para sa mga privileged na aspeto. Sa halip na magdagdag ng sub-package na gusto
aspeto inirerekumenda namin ang paggamit ng .aj extension at kasama ang mga file na ito sa iyong
sa halip ay umiiral na mga pakete.

Pagkakatugma
Ang AspectJ ay isang katugmang extension sa Java programming language. Ang AspectJ compiler
sumusunod sa Ang Java Wika Pagtutukoy, Pangalawa Edisyon (BOOK)
http://java.sun.com/docs/books/jls/index.html at sa Ang Java Totoo Makina
Pagtutukoy, Pangalawa Edisyon (BOOK) http://java.sun.com/docs/books/vmspec/index.html at
tumatakbo sa anumang platform na katugma sa Java 2. Ang code na nabuo nito ay tumatakbo sa anumang Java 1.1 o
katugmang platform sa ibang pagkakataon. Para sa higit pang impormasyon sa pagiging tugma sa Java at sa
nakaraang mga release ng AspectJ, tingnan "" >.

Mga halimbawa
A simple halimbawa

Magtipon ng dalawang file:

ajc HelloWorld.java Trace.java

An halimbawa paggamit -argfile/@

Upang maiwasan ang pagtukoy ng mga pangalan ng file sa command line, ilista ang mga source file sa line-delimited
text argfile. Ang mga path ng source file ay maaaring ganap o nauugnay sa argfile, at maaaring
isama ang iba pang mga argfile sa pamamagitan ng @-reference. Ang sumusunod na file pinagmumulan.lst naglalaman ng
ganap at kamag-anak na mga file at @-reference:

Gui.java
/home/user/src/Library.java
data/Repository.java
data/Access.java
@../../common/common.lst
@/home/user/src/lib.lst
view/body/ArrayView.java

I-compile ang mga file gamit ang alinman sa -argfile o @ form:

ajc -argfile sources.lst
ajc @sources.lst

Ang mga argfile ay sinusuportahan din ng mga jikes at javac, kaya maaari mong gamitin ang mga file sa mga hybrid na build.
Gayunpaman, nag-iiba ang suporta:

· Tanging ang ajc ang tumatanggap ng mga opsyon sa command-line

· Hindi tumatanggap ang Jike at Javac ng mga panloob na sanggunian sa @argfile.

· Tinatanggap lamang ni Jike at Javac ang @file form sa command line.

An halimbawa paggamit -inpath at -aspectpath

Bytecode weaving gamit ang -inpath: Sinusuportahan ng AspectJ 1.2 ang weaving .class na mga file sa input zip/jar
mga file at direktoryo. Ang paggamit ng mga input jar ay parang pag-compile ng kaukulang source file,
at ang lahat ng mga binary ay inilalabas sa output. Bagama't maaaring magkaiba ang mga compiler na sumusunod sa Java
ang kanilang output, dapat kunin ng ajc bilang input ang anumang mga file ng klase na ginawa ng javac, jikes, eclipse,
at, siyempre, ajc. Ang mga aspetong kasama sa -inpath ay hahabi sa tulad ng ibang .class
file, at makakaapekto ang mga ito sa iba pang mga uri gaya ng dati.

Aspect library gamit ang -aspectpath: Sinusuportahan ng AspectJ 1.1 ang paghabi mula sa mga read-only na library
naglalaman ng mga aspeto. Tulad ng mga input jar, nakakaapekto ang mga ito sa lahat ng input; hindi tulad ng input jars, sila
ang kanilang mga sarili ay hindi apektado o ibinubuga bilang output. Pinagmulan na pinagsama-sama sa mga aklatan ng aspeto
ay dapat na patakbuhin na may parehong mga library ng aspeto sa kanilang classpath.

Ang sumusunod na halimbawa ay bumubuo ng halimbawa ng pagsubaybay sa isang command-line na kapaligiran; ito ay lumilikha
isang read-only aspect library, nag-compile ng ilang klase para gamitin bilang input bytecode, at nag-compile
ang mga klase at iba pang mapagkukunan na may aklatan ng aspeto.

Ang halimbawa ng pagsubaybay ay nasa pamamahagi ng AspectJ ({aspectj}/doc/examples/tracing). Ito
gumagamit ng mga sumusunod na file:

aspectj1.1/
bin/
ajc
lib /
aspectjrt.jar
mga halimbawa/
pagsubaybay/
Circle.java
ExampleMain.java
lib /
AbstractTrace.java
TraceMyClasses.java
notrace.lst
Kuwadro.java
tracelib.lst
tracev3.lst
TwoDShape.java
bersyon3/
Trace.java
TraceMyClasses.java

Sa ibaba, ang path separator ay kinuha bilang ";", ngunit ang mga file separator ay "/". Ang lahat ng mga utos ay
sa isang linya. Ayusin ang mga path at command sa iyong kapaligiran kung kinakailangan.

I-setup ang path, classpath, at kasalukuyang direktoryo:

mga halimbawa ng cd
i-export ang ajrt=../lib/aspectjrt.jar
i-export ang CLASSPATH="$ajrt"
i-export ang PATH="../ bin:$PATH"

Bumuo ng read-only tracing library:

ajc -argfile tracing/tracelib.lst -outjar tracelib.jar

Buuin ang application na may pagsubaybay sa isang hakbang:

ajc -aspectpath tracelib.jar -argfile tracing/notrace.lst -outjar tracedapp.jar

Patakbuhin ang application na may pagsubaybay:

java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain

Buuin ang application gamit ang pagsubaybay mula sa mga binary sa dalawang hakbang:

· (a) Buuin ang mga klase ng aplikasyon (gamit ang javac para sa kapakanan ng demonstrasyon):

mkdir klase
javac -d classes tracing/*.java
jar cfM app.jar -C classes .

· (b) Buuin ang application na may pagsubaybay:

ajc -inpath app.jar -aspectpath tracelib.jar -outjar tracedapp.jar

Patakbuhin ang application na may pagsubaybay (katulad ng nasa itaas):

java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain

Patakbuhin ang application nang walang pagsubaybay:

java -classpath "app.jar" tracing.ExampleMain

Ang AspetoJ tagatala API
Ang AspectJ compiler ay ganap na ipinatupad sa Java at maaaring tawaging isang Java class.
Ang tanging interface na dapat ituring na pampubliko ay ang mga pampublikong pamamaraan sa
org.aspectj.tools.ajc.Main. Hal, pangunahing(String[] args) kumukuha ng pamantayan ajc utos
mga argumento ng linya. Nangangahulugan ito na ang isang alternatibong paraan upang patakbuhin ang compiler ay

Dyaba org.aspectj.tools.ajc.Main [opsyon...] [file ...]

Upang ma-access ang mga mensahe ng compiler sa programmatically, gamitin ang mga pamamaraan setHolder(IMessageHolder
may hawak) at / o tumakbo(String[] args, IMessageHolder may hawak). ajc iniuulat ang bawat mensahe sa
may hawak na gumagamit IMessageHolder.handleMessage(..). Kung gusto mo lang kolektahin ang mga mensahe,
gamitin MessageHandler bilang iyong IMessageHolder. Halimbawa, i-compile at patakbuhin ang
sumusunod sa aspectjtools.jar sa classpath:

import org.aspectj.bridge.*;
import org.aspectj.tools.ajc.Main;
import java.util.Array;

pampublikong klase WrapAjc {
public static void main (String [] args) {
Pangunahing tagatala = bagong Pangunahing();
MessageHandler m = bagong MessageHandler();
compiler.run(args, m);
IMessage[] ms = m.getMessages(null, true);
System.out.println("mga mensahe: " + Arrays.asList(MS));
}
}

Magtalaksan traces at ang SourceFile katangian
Hindi tulad ng mga tradisyunal na java compiler, ang AspectJ compiler ay maaaring makabuo sa ilang partikular na kaso
classfiles mula sa maraming source file. Sa kasamaang palad, ang orihinal na format ng file ng klase ng Java
ay hindi sumusuporta sa maramihang mga katangian ng SourceFile. Upang matiyak na ang lahat ng source file
Ang impormasyon ay magagamit, ang AspectJ compiler ay maaaring sa ilang mga kaso ay mag-encode ng maramihang mga filename
sa SourceFile attribute. Kapag ang Java VM ay bumubuo ng mga stack traces, ginagamit nito ito
attribute upang tukuyin ang source file.

(Sinusuportahan din ng AspectJ 1.0 compiler ang .class file extension ng JSR-45. Ang mga ito
pinahintulutan ang mga sumusunod na debugger (tulad ng jdb sa Java 1.4.1) na tukuyin ang tamang file at linya
kahit na binigyan ng maraming source file para sa isang klase. Ang suporta ng JSR-45 ay binalak para sa ajc in
AspectJ 1.1, ngunit wala sa paunang paglabas. Upang makakuha ng ganap na nade-debug na mga .class na file, gamitin
ang -XnoInline na opsyon.)

Marahil ang tanging pagkakataon na makikita mo ang format na ito ay kapag tiningnan mo ang mga stack traces, kung saan mo
maaaring makatagpo ng mga bakas ng format

java.lang.NullPointerException
sa Main.new$constructor_call37(Main.java;SynchAspect.java[1k]:1030)

kung saan sa halip na karaniwan

File:LineNumber

format, nakikita mo

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

Sa kasong ito, ang LineNumber ay ang karaniwang offset sa mga linya kasama ang "linya ng simula" ng aktwal
source file. Nangangahulugan iyon na ginagamit mo ang LineNumber para matukoy ang pinagmulang file at upang mahanap
ang linyang pinag-uusapan. Ang numero sa [mga bracket] pagkatapos ng bawat file ay nagsasabi sa iyo ng virtual na "start
line" para sa file na iyon (ang unang file ay may simula ng 0).

Sa aming halimbawa mula sa null pointer exception trace, ang virtual start line ay 1030.
Dahil ang file na SynchAspect.java ay "nagsisimula" sa linyang 1000 [1k], ang LineNumber ay tumuturo sa linya
30 ng SynchAspect.java.

Kaya, kapag nahaharap sa naturang stack traces, ang paraan upang mahanap ang aktwal na lokasyon ng pinagmulan ay upang
tingnan ang listahan ng mga numero ng "start line" upang mahanap ang isa sa ilalim lamang ng ipinapakitang linya
numero. Iyon ang file kung saan matatagpuan ang lokasyon ng pinagmulan. Pagkatapos, ibawas
na "linya ng simula" mula sa ipinapakitang numero ng linya upang mahanap ang aktwal na numero ng linya sa loob nito
file.

Sa isang class file na nagmumula lamang sa isang source file, ang AspectJ compiler ay bumubuo
Ang mga katangian ng SourceFile ay naaayon sa mga tradisyonal na Java compiler.

ajc(1)

Gamitin ang ajc online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

Linux command

Ad