JDT Ç÷¯±×Àο¡´Â ¼Ò½º Äڵ忡¼ Java .class ÆÄÀÏÀ» ºôµåÇÏ´Â ÁõºÐ ¹× Àϰýó¸® Java ÄÄÆÄÀÏ·¯°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. API´Â ÄÄÆÄÀÏ·¯°¡ Á÷Á¢ Á¦°øÇÏÁö ¾ÊÀ¸¸ç, Java ÇÁ·ÎÁ§Æ®¿¡ ºô´õ·Î ¼³Ä¡µË´Ï´Ù. ÄÄÆÄÀÏÀº Ç¥ÁØ Ç÷§Æû ºôµå ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© Æ®¸®°ÅµË´Ï´Ù.
Ç÷§Æû ºôµå ¸ÞÄ¿´ÏÁòÀº ÁõºÐ ÇÁ·ÎÁ§Æ® ºô´õ¿¡¼ ÀÚ¼¼È÷ ¼³¸íÇÕ´Ï´Ù.
ºôµå API¸¦ »ç¿ëÇÏ¿© ÇÁ·ÎÁ§Æ®ÀÇ Java ¼Ò½º ÆÄÀÏÀ» ÇÁ·Î±×·¥¿¡ µû¶ó ÄÄÆÄÀÏÇÒ ¼ö ÀÖ½À´Ï´Ù.
IProject myProject; IProgressMonitor myProgressMonitor; myProject.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, myProgressMonitor);
Java ÇÁ·ÎÁ§Æ®¿¡¼´Â ÀÌ Äڵ尡 Java ÁõºÐ ÇÁ·ÎÁ§Æ® ºô´õ¸¦ ÇÁ·ÎÁ§Æ®ÀÇ ºôµå ½ºÆå¿¡ Ãß°¡µÈ ´Ù¸¥ ÁõºÐ ÇÁ·ÎÁ§Æ® ºô´õ¿Í ÇÔ²² È£ÃâÇÕ´Ï´Ù. »ý¼ºµÈ .class ÆÄÀÏÀº ÁöÁ¤µÈ Ãâ·Â Æú´õ¿¡ ±â·ÏµË´Ï´Ù. Ãß°¡ ÀÚ¿ø ÆÄÀÏÀº Ãâ·Â Æú´õ¿¡µµ º¹»çµË´Ï´Ù.
Àüü Àϰýó¸® ºôµåÀÇ °æ¿ì Ãâ·Â Æú´õ¿¡ ÀÖ´Â ¸ðµç .class ÆÄÀÏÀº ¹«È¿ ÆÄÀÏÀÌ ¾øµµ·Ï 'Á¤¸®'µÉ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº JDT ÄÚ¾î ºô´õ ¿É¼Ç (CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER)À» »ç¿ëÇÏ¿© Á¦¾îµË´Ï´Ù. ÀÌ ¿É¼ÇÀÇ ±âº»°ªÀº Ãâ·Â Æú´õ¸¦ Á¤¸®ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¿É¼ÇÀ» Àç¼³Á¤ÇÏ´Â °æ¿ì¸¦ Á¦¿ÜÇϰí ÇØ´ç ¼Ò½º ÆÄÀÏÀÌ ¾ø´Â ¸ðµç .class ÆÄÀÏÀ» Ãâ·Â Æú´õ ´ë½Å Ŭ·¡½º °æ·Î¿¡ ÀÖ´Â º°µµÀÇ Å¬·¡½º ÆÄÀÏ Æú´õ¿¡ ³õ¾Æ¾ß ÇÕ´Ï´Ù.
ÁõºÐ ºô´õ ¹× Àϰýó¸® ºô´õ´Â Ãâ·Â Æú´õ¿¡ º¹»çÇÏ´Â ÀÚ¿øÀ» Á¦¾îÇÏ´Â
´Ù¸¥ ¿É¼ÇÀ» »ç¿ëÇÏ¿© ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ »ùÇÃÀº '.ignore'·Î ³¡³ª´Â ÆÄÀϰú À̸§ÀÌ 'META-INF'ÀÎ Æú´õ°¡
Ãâ·Â Æú´õ¿¡ º¹»çµÇÁö ¾Êµµ·Ï ÇÏ´Â ÀÚ¿ø ÇÊÅ͸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.
Hashtable options = JavaCore.getOptions();
options.put(JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, "*.ignore,META-INF/");
JavaCore.setOptions(options);
ÆÄÀÏ À̸§Àº Á¦°øµÈ ÆÐÅÏ Áß Çϳª¿Í ÀÏÄ¡ÇÒ °æ¿ì ÇÊÅÍ ¾Æ¿ôµË´Ï´Ù. Àüü Æú´õ´Â Æú´õÀÇ À̸§ÀÌ °æ·Î ºÐ¸®ÀÚ·Î ³¡³ª´Â Á¦°øµÈ Æú´õ À̸§ Áß Çϳª¿Í ÀÏÄ¡ÇÏ´Â °æ¿ì ÇÊÅÍ ¾Æ¿ôµË´Ï´Ù.
.classpath ÆÄÀÏ¿¡ ¿À·ù°¡ ÀÖÀ» ¶§ ´ÜÀÏ ¿À·ù¸¸ »ý¼ºÇϵµ·Ï ÁõºÐ ¹× Àϰýó¸® ºô´õ¸¦ ±¸¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ¿É¼ÇÀº ±âº»ÀûÀ¸·Î ¼³Á¤µÇ¸ç ¸¹Àº ¿À·ù¸¦ Á¦°ÅÇÕ´Ï´Ù. ºô´õ °ü·Ã ¿É¼Ç ¹× ±âº»°ªÀÇ Àüü ¸ñ·ÏÀº JDT ÄÚ¾î ºô´õ ¿É¼ÇÀ» ÂüÁ¶ÇϽʽÿÀ.
ÄÄÆÄÀÏ·¯´Â JavaCore ¿É¼ÇÀ» »ç¿ëÇÏ¿© ±¸¼ºµÉ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÄÄÆÄÀÏ Áß ¹ß»ýÇÏ´Â ¿©·¯ Á¾·ùÀÇ ¹®Á¦Á¡¿¡ »ç¿ëÇØ¾ß ÇÏ´Â ½É°¢µµ¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÄÆÄÀÏ·¯ °ü·Ã ¿É¼Ç ¹× ±âº»°ª Àüü ¸ñ·ÏÀº JDT ÄÚ¾î ÄÄÆÄÀÏ·¯ ¿É¼ÇÀ» ÂüÁ¶ÇϽʽÿÀ.
ºô´õ ¶Ç´Â ÄÄÆÄÀÏ·¯ÀÇ ¿É¼ÇÀ» ÇÁ·Î±×·¥¿¡ µû¶ó ±¸¼ºÇÒ °æ¿ì, ¿É¼Ç ¹üÀ§¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÚ¿ø ÇÊÅ͸¦ ¼³Á¤ÇÏ¸é Æ¯Á¤ ÇÁ·ÎÁ§Æ®¿¡¸¸ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
Hashtable options = myProject.getOptions(false); // get only the options set up in this project options.put(JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, "*.ignore,META-INF/"); myProject.setOptions(options);
Àϰýó¸® ÄÄÆÄÀÏ·¯ Ŭ·¡½º´Â JDT ÄÚ¾î Ç÷¯±×ÀÎÀÇ ³»ºÎ Ŭ·¡½º¿¡ ÀÖ½À´Ï´Ù. Ŭ·¡½º À̸§Àº org.eclipse.jdt.internal.compiler.batch.MainÀÔ´Ï´Ù.
plugins/org.eclipse.jdt.core_3.2.0.jar
·Î ÆÐŰÁöµË´Ï´Ù. 3.2ºÎÅÍ º°µµ ´Ù¿î·Îµå·Î »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÆÄÀÏ À̸§Àº ecj.jarÀÔ´Ï´Ù. ´ëÀÀÇÏ´Â ¼Ò½ºµµ »ç¿ë °¡´ÉÇÕ´Ï´Ù. À̸¦ °¡Á®¿À·Á¸é ´Ù¿î·Îµå ÆäÀÌÁö·Î
À̵¿ÇÏ¿© JDT ÄÚ¾î Àϰýó¸® ÄÄÆÄÀÏ·¯ ¼½¼ÇÀ» °Ë»öÇϽʽÿÀ. ÀÌ jar¿¡´Â Àϰýó¸® ÄÄÆÄÀÏ·¯¿Í javac ant ¾î´ðÅͰ¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
µû¶ó¼ Eclipse ¿ÜºÎÀÇ Ant ºôµå ³»¿¡¼ µ¶¸³Çü ÀÀ¿ëÇÁ·Î±×·¥À¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
java -classpath org.eclipse.jdt.core_3.2.0.jar org.eclipse.jdt.internal.compiler.batch.Main
-classpath rt.jar A.java
¶Ç´Â
java -jar org.eclipse.jdt.core_3.2.0.jar -classpath rt.jar A.java
org.eclipse.jdt.internal.compiler.batch.Main.main(new
String[] {"-classpath", "rt.jar", "A.java"});
compile(String)
¸Þ¼Òµå´Â ÄÄÆÄÀÏ·¯¿¡¼ Àϰýó¸® ÄÄÆÄÀÏ·¯¸¦ È£ÃâÇÏ´Â Æí¸®ÇÑ
¸Þ¼ÒµåÀÔ´Ï´Ù. org.eclipse.jdt.internal.compiler.batch.Main.main(new
String[] {"-classpath", "rt.jar", "A.java"});
´ë½Å
org.eclipse.jdt.internal.compiler.batch.Main.compile("-classpath
rt.jar A.java");
¸¸ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿À·»Áö»ö ¹è°æÀ¸·Î Ç¥½ÃµÈ ¿É¼ÇÀÌ Á¦¾ÈµÈ ¿É¼ÇÀÔ´Ï´Ù.
À̸§ | »ç¿ë¹ý | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ŭ·¡½º °æ·Î ¿É¼Ç | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-bootclasspath <dir 1>;<dir 2>;...;<dir P> | ÄÄÆÄÀÏ·¯¿¡¼ »ç¿ëµÇ´Â Ŭ·¡½º ÆÄÀÏÀ» ºÎÆ®½ºÆ®·¦ÇÏ´Â µ¥ »ç¿ëµÇ´Â µð·ºÅ丮 ¶Ç´Â jar ÆÄÀÏ ¸ñ·ÏÀÔ´Ï´Ù. ±âº»ÀûÀ¸·Î, ½ÇÇà ÁßÀÎ
VM ¶óÀ̺귯¸®°¡ »ç¿ëµË´Ï´Ù. Ç׸ñÀº Ç÷§Æû °æ·Î ºÐ¸®ÀÚ·Î ±¸ºÐµË´Ï´Ù.
°¢ µð·ºÅ丮 ¶Ç´Â ÆÄÀÏÀº '['¿Í ']' »çÀÌ¿¡ À¯Çü ¾×¼¼½º ±ÔÄ¢À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cp -classpath <dir 1>;<dir 2>;...;<dir P> |
¼Ò½º ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ´Â µ¥ »ç¿ëµÇ´Â µð·ºÅ丮 ¶Ç´Â jar ÆÄÀÏ ¸ñ·ÏÀÔ´Ï´Ù. ±âº»°ªÀº "java.class.path" Ư¼º °ªÀÔ´Ï´Ù.
Ç׸ñÀº Ç÷§Æû °æ·Î ºÐ¸®ÀÚ·Î ±¸ºÐµË´Ï´Ù.
°¢ µð·ºÅ丮 ¶Ç´Â ÆÄÀÏÀº '['¿Í ']' »çÀÌ¿¡ À¯Çü ¾×¼¼½º ±ÔÄ¢À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, [-X]´Â À¯Çü X¿¡ ´ëÇÑ ¾×¼¼½º¸¦ ±ÝÁöÇϰí [~X]´Â À¯Çü X¿¡ ´ëÇÑ ¾×¼¼½º¸¦ ¹æÇØÇϸç [+p/X:-p/*]´Â p ÆÐŰÁö ³» ¸ðµç À¯Çü¿¡ ´ëÇÑ ¾×¼¼½º´Â ±ÝÁöÇϰí p/X¿¡ ´ëÇÑ ¾×¼¼½º´Â Çã¿ëÇÕ´Ï´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-extdirs <dir 1>;<dir 2>;...;<dir P> | È®Àå zip/jar ÆÄÀÏÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµÇ´Â µð·ºÅ丮 ¸ñ·ÏÀÔ´Ï´Ù. Ç׸ñÀº Ç÷§Æû °æ·Î ºÐ¸®ÀÚ·Î ±¸ºÐµË´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-endorseddirs <dir 1>;<dir 2>;...;<dir P> | ±ÔÁ¤ÈµÈ zip/jar ÆÄÀÏ À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµÇ´Â µð·ºÅ丮 ¸ñ·ÏÀÔ´Ï´Ù. Ç׸ñÀº Ç÷§Æû °æ·Î ºÐ¸®ÀÚ·Î ±¸ºÐµË´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-sourcepath <dir 1>;<dir 2>;...;<dir P> | ¼Ò½º ÆÄÀÏÀ» ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµÇ´Â µð·ºÅ丮 ¸ñ·ÏÀÔ´Ï´Ù. Ç׸ñÀº Ç÷§Æû °æ·Î ºÐ¸®ÀÚ·Î ±¸ºÐµË´Ï´Ù.
°¢ µð·ºÅ丮´Â '['¿Í ']' »çÀÌ¿¡ À¯Çü ¾×¼¼½º ±ÔÄ¢À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-d <dir 1>|none | »ý¼ºµÈ .class ÆÄÀÏÀ» ´ýÇÁÇØ¾ß ÇÏ´Â µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ÀÌ ¿É¼ÇÀ» »ý·«ÇÏ¸é ÆÐŰÁö µð·ºÅ丮 ±¸Á¶°¡ ÀÛ¼ºµÇÁö ¾Ê½À´Ï´Ù. .class ÆÄÀÏÀ» »ý¼ºÇÏÁö ¾ÊÀ¸·Á¸é -d noneÀ» »ç¿ëÇϽʽÿÀ. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-encoding <encoding name> | ±âº» ¼Ò½º ÀÎÄÚµù Çü½ÄÀ» ÁöÁ¤ÇϽʽÿÀ(°¢ ÀÔ·Â ¼Ò½º ÆÄÀÏ/Æú´õ À̸§¿¡ [[<encoding name>] Á¢¹ÌºÎ¸¦ Ãß°¡ÇÏ¿© ÆÄÀϺ°·Î »ç¿ëÀÚ Á¤ÀÇ ÀÎÄÚµùÀ» ÁöÁ¤ÇÒ ¼öµµ ÀÖÀ½. ¿¹:X.java[utf8]). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Áؼö ¿É¼Ç | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-target 1.1|1.2|1.3|1.4|1.5|5|5.0|1.6|6|6.0 | .class ÆÄÀÏ ´ë»ó ¼³Á¤À» ÁöÁ¤ÇÕ´Ï´Ù.
°¡´ÉÇÑ °ªÀº ´ÙÀ½°ú °°½À´Ï´Ù.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-1.3 | Áؼö ·¹º§À» 1.3À¸·Î ¼³Á¤ÇÕ´Ï´Ù. ¾Ï½ÃÀû -source 1.3 -target 1.1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-1.4 | Áؼö ·¹º§À» 1.4(±âº»°ª)·Î ¼³Á¤ÇÕ´Ï´Ù. ¾Ï½ÃÀû -source 1.3 -target 1.2. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-1.5 | Áؼö ·¹º§À» 1.5·Î ¼³Á¤ÇÕ´Ï´Ù. ¾Ï½ÃÀû -source 1.5 -target 1.5. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-1.6 | Áؼö ·¹º§À» 1.6À¸·Î ¼³Á¤ÇÕ´Ï´Ù. ¾Ï½ÃÀû -source 1.6 -target 1.6. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-source 1.3|1.4|1.5|5|5.0|1.6|6|6.0 | ÀÌ´Â ÄÄÆÄÀÏ·¯°¡ ¿¹»óÇÏ´Â ¼Ò½º ·¹º§À» ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. °¡´ÉÇÑ °ªÀº ´ÙÀ½°ú °°½À´Ï´Ù.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
°æ°í ¿É¼Ç | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-warn:allDeprecation |
°æ°í ·¹º§À» ¼³Á¤ÇϽʽÿÀ. ¿¹Á¦: -warn:unusedLocal,deprecation »¡°£»öÀ¸·Î Ç¥½ÃµÈ °ÍÀº ±âº» ¼³Á¤ÀÔ´Ï´Ù.
-warn:none disable all warnings -warn:<warnings separated by ,> enable exactly the listed warnings -warn:+<warnings separated by ,> enable additional warnings -warn:-<warnings separated by ,> disable specific warnings
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-nowarn | °æ°í ¾øÀ½(-warn:none°ú µ¿ÀÏ) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-deprecation | -warn:deprecation°ú µ¿ÀÏ. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
µð¹ö±× ¿É¼Ç | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-g[:none|:lines,vars,source] | µð¹ö±× ¼Ó¼º ·¹º§À» ¼³Á¤ÇϽʽÿÀ.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-preserveAllLocals | µð¹ö±× ¸ñÀûÀ¸·Î ¸ðµç ·ÎÄà º¯¼ö¸¦ º¸Á¸Çϵµ·Ï ÄÄÆÄÀÏ·¯¿¡ ¸í½ÃÀûÀ¸·Î ¿äûÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀ» »ý·«Çϸé ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÏÁö ¾Ê´Â ·ÎÄÃÀ» Á¦°ÅÇÕ´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
javac ¿É¼Ç°úÀÇ È£È¯¼ºÀ» À§ÇØ ¹«½ÃµÇ´Â ¿É¼Ç | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-J<option> | °¡»ó ½Ã½ºÅÛ¿¡ ¿É¼Ç Àü´Þ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-X<option> | ºñÇ¥ÁØ ¿É¼Ç ÁöÁ¤. -Xemacs´Â ¹«½ÃµË´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-X | ºñÇ¥ÁØ ¿É¼Ç ÀÎ¼â ¹× Á¾·á | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-O | ½ÇÇà ½Ã°£ ÃÖÀûÈ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
°í±Þ ¿É¼Ç | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@<file> | ÆÄÀÏ¿¡¼ ¸í·ÉÇà Àμö¸¦ ÀнÀ´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-maxProblems <n> | ÄÄÆÄÀÏ ´ÜÀ§´ç ÃÖ´ë ¹®Á¦Á¡ ¼ö(±âº»ÀûÀ¸·Î 100°³) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-log <filename> | ÄÄÆÄÀÏ·¯ÀÇ ¸ðµç Ãâ·ÂÀ» ´ýÇÁÇÒ ·Î±× ÆÄÀÏÀ» ÁöÁ¤ÇϽʽÿÀ. ÀÌ ¿É¼ÇÀº Àϰýó¸® ÄÄÆÄÀÏ·¯¸¦ µð¹ö±×Çϰųª ¿À·ù¿Í °æ°í¸¦ ¸ðµÎ Æ÷ÇÔÇÏ´Â ÆÄÀÏÀ» Àϰýó¸® ºôµå¿¡¼ °¡Á®¿À·Á´Â °æ¿ì ¾ÆÁÖ À¯¿ëÇÕ´Ï´Ù. È®ÀåÀÚ°¡ .xmlÀÎ °æ¿ì, »ý¼ºµÇ´Â ·Î±×´Â xml ÆÄÀÏÀÔ´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-Xemacs | ÄÜ¼Ö ¹× ÀÏ¹Ý ÅØ½ºÆ® ·Î±×¿¡ ¿À·ù ¹× °æ°í À§Ä¡¸¦ Á¦°øÇÏ·Á¸é emacs ½ºÅ¸ÀÏÀ»
»ç¿ëÇϽʽÿÀ. ÀÌ ¿É¼ÇÀº XML ·Î±×¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. ÀÌ ¿É¼ÇÀÌ
Ȱ¼ºÈµÈ °æ¿ì,
2. WARNING in /workspace/X.java ¸Þ½ÃÁö°¡´ÙÀ½°ú °°ÀÌ Á¦°øµË´Ï´Ù.
/workspace/X.java:8: warning: The method... |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-proceedOnError | ¿À·ù¿¡µµ ºÒ±¸Çϰí ÄÄÆÄÀÏÀ» °è¼ÓÇÏ°í ¹®Á¦Á¡ ¸Þ¼Òµå ¶Ç´Â ¹®Á¦Á¡ À¯ÇüÀ» »ç¿ëÇÏ¿© Ŭ·¡½º ÆÄÀÏ ´ýÇÁ¸¦ °è¼ÓÇÕ´Ï´Ù. ³²¾Æ ÀÖ´Â ¿À·ù°¡ ÀÖ´Â °æ¿ì¿¡µµ ÀÀ¿ëÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á´Â °æ¿ì¿¡¸¸ ±ÇÀåÇÕ´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-verbose | ÀÌ ¿É¼ÇÀ» ÁöÁ¤ÇÏ¸é ¾×¼¼½ºµÈ/ó¸®µÈ ÄÄÆÄÀÏ ´ÜÀ§¸¦ ÄÜ¼Ö ¶Ç´Â ·Î±× ÆÄÀÏ¿¡ ÀμâÇÕ´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-referenceInfo | ¿¬»ê ÂüÁ¶ Á¤º¸. ºô´õ¿¡ ¿¬°áµÈ °æ¿ì¿¡¸¸ À¯¿ëÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì ÂüÁ¶ Á¤º¸´Â ¾µ¸ð°¡ ¾ø½À´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-progress | ÁøÇà Ç¥½Ã(-log ¸ðµå¿¡¼¸¸). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-time | ¼Óµµ Á¤º¸ Ç¥½Ã. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-noExit | ÄÄÆÄÀÏ Á¾·á ½Ã System.exit(n)À» È£ÃâÇÏÁö ¾ÊÀ½(¿À·ù°¡ ¾ø´Â °æ¿ì n=0). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-repeat <n> | ÄÄÆÄÀÏ ÇÁ·Î¼¼½º¸¦ <n>¹ø ¹Ýº¹(¼º´É ºÐ¼®). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-inlineJSR | ÀζóÀÎ JSR ¹ÙÀÌÆ® ÄÚµå(´ë»ó >= 1.5ÀÎ °æ¿ì ¾Ï½ÃÀû). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-enableJavadoc | javadoc ³» ÂüÁ¶ °í·Á. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
µµ¿ò¸» ¿É¼Ç | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-? -help | µµ¿ò¸» ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÕ´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-v -version | ÄÄÆÄÀÏ·¯ÀÇ ºôµå ¹øÈ£¸¦ Ç¥½ÃÇÕ´Ï´Ù. ¹ö±×¸¦ º¸°íÇÏ´Â °æ¿ì¿¡ ¾ÆÁÖ À¯¿ëÇÕ´Ï´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-showversion | ÄÄÆÄÀÏ·¯ÀÇ ºôµå ¹øÈ£¸¦ Ç¥½ÃÇÏ°í °è¼ÓÇÕ´Ï´Ù. ¹ö±×¸¦ º¸°íÇÏ´Â °æ¿ì¿¡ ¾ÆÁÖ À¯¿ëÇÕ´Ï´Ù. |
d:\temp -classpath rt.jar -time -g -d d:/tmp
|
d:\temp ¹× ¼ºêÆú´õÀÇ ¸ðµç ¼Ò½º ÆÄÀÏÀ» ÄÄÆÄÀÏÇÕ´Ï´Ù. Ŭ·¡½º °æ·Î´Â ´ÜÁö rt.jarÀÔ´Ï´Ù. ¸ðµç µð¹ö±× ¼Ó¼ºÀ» »ý¼ºÇÏ¸ç »ý¼ºµÈ ¸ðµç .class ÆÄÀÏÀº d:\tmp¿¡ ´ýÇÁµË´Ï´Ù. Àϰýó¸® ÇÁ·Î¼¼½º°¡ ¿Ï·áµÇ¸é ÄÄÆÄÀÏ·¯ÀÇ ¼Óµµ°¡ Ç¥½ÃµË´Ï´Ù. |
d:\temp\Test.java -classpath d:\temp;rt.jar -g:none
|
Test.java¸¸ ÄÄÆÄÀÏÇϰí Á¾¼Ó ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì d:\temp¿¡¼ Á¾¼Ó ÆÄÀÏÀ» °Ë»öÇÕ´Ï´Ù. Ŭ·¡½º °æ·Î´Â rt.jar°¡ ¼öÇàµÈ d:\tempÀÔ´Ï´Ù. ÀÌ´Â d:\temp¿¡¼ ¸ÕÀú ¸ðµç Çʼö Ŭ·¡½º¸¦ °Ë»öÇÑ ÈÄ rt.jar¿¡¼ °Ë»öÇÔÀ» ÀǹÌÇÕ´Ï´Ù. µð¹ö±× ¼Ó¼ºÀ» »ý¼ºÇÏÁö ¾ÊÀ¸¸ç, »ý¼ºµÈ ¸ðµç .class ÆÄÀÏÀº d:\temp¿¡ ´ýÇÁµË´Ï´Ù. |
<?xml version="1.0" encoding="UTF-8" ?> <project name="compile" default="main" basedir="../."> <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> <property name="root" value="${basedir}/src"/> <property name="destdir" value="d:/temp/bin" /> <target name="main"> <javac srcdir="${root}" destdir="${destdir}" debug="on" nowarn="on" extdirs="d:/extdirs" source="1.4"> <classpath> <pathelement location="${basedir}/../org.eclipse.jdt.core/bin"/> </classpath> </javac> </target> </project>javac Ant Ÿ½ºÅ©¿¡ »ç¿ëµÈ ±¸¹®Àº Ant javac Ÿ½ºÅ© ¹®¼¿¡ ÀÖ½À´Ï´Ù. ÇöÀç ¾î´ðÅÍ´Â Javac Ant Ÿ½ºÅ© 1.4.1 - 1.6.5 ¹öÀüÀ» Áö¿øÇÕ´Ï´Ù.
»ç¿ë ÁßÀÎ ¹öÀüÀÌ 1.5.0 ÀÌ»óÀÎ °æ¿ì, ÁßøµÈ ÄÄÆÄÀÏ·¯ Àμö ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ÄÄÆÄÀÏ·¯ ƯÁ¤ ¿É¼ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
... <javac srcdir="${root}" destdir="${destdir}" debug="on" nowarn="on" extdirs="d:/extdirs" source="1.4"> <classpath> <pathelement location="${basedir}/../org.eclipse.jdt.core/bin"/> </classpath> <compilerarg compiler="org.eclipse.jdt.core.JDTCompilerAdapter" line="-1.5 -warn:+boxing"/> </javac> ...
ÄÄÆÄÀÏ·¯ Á¾¼Ó ½ºÅ©¸³Æ®¸¦ °¡Á®¿ÀÁö ¾Êµµ·Ï ÇÏ·Á¸é ÄÄÆÄÀÏ·¯ Àμö¸¦ org.eclipse.jdt.core.JDTCompilerAdapter
·Î ¼³Á¤ÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
À̸¦ ¼³Á¤ÇÏÁö ¾ÊÀº °æ¿ì, ½ºÅ©¸³Æ®´Â Eclipse ÄÄÆÄÀÏ·¯ÇÏ°í¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼³Á¤Àº ÇßÁö¸¸, À̸§ÀÌ build.compiler
Ư¼ºÀ¸·Î ÁöÁ¤µÈ
ÄÄÆÄÀÏ·¯ À̸§°ú ´Ù¸¥ °æ¿ì ÁßøµÈ ÄÄÆÄÀÏ·¯ Àμö´Â ¹«½ÃµË´Ï´Ù.
JDT ÄÚ¾î´Â Ư¼ö ¸¶Ä¿(¸¶Ä¿ À¯Çü "org.eclipse.jdt.core.problem")¸¦ Á¤ÀÇÇÏ¿© ÄÄÆÄÀÏ ¹®Á¦Á¡À» ¼±¾ðÇÕ´Ï´Ù. ÄÄÆÄÀÏ·¯°¡ ¹ß°ßÇÑ ¹®Á¦Á¡À» ÇÁ·Î±×·¥¿¡ µû¶ó ãÀ¸·Á¸é Ç¥ÁØ Ç÷§Æû ¸¶Ä¿ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ¸¶Ä¿ »ç¿ë¿¡ ´ëÇÑ °³¿ä´Â ÀÚ¿ø ¸¶Ä¿¸¦ ÂüÁ¶ÇϽʽÿÀ.
´ÙÀ½ ½º´ÏÆêÀº ÄÄÆÄÀÏ ´ÜÀ§ÀÇ ¸ðµç Java ¹®Á¦Á¡ ¸¶Ä¿¸¦ ã½À´Ï´Ù.
public IMarker[] findJavaProblemMarkers(ICompilationUnit cu) throws CoreException { IResource javaSourceFile = cu.getUnderlyingResource(); IMarker[] markers = javaSourceFile.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE); }
Java ¹®Á¦Á¡ ¸¶Ä¿´Â Java ÇÁ·ÎÁ§Æ® ºô´õ°¡ À¯Áöº¸¼öÇϸç, ¹®Á¦Á¡ÀÌ ºÐ¼®µÇ°í Java ¼Ò½º°¡ ´Ù½Ã ÄÄÆÄÀ쵃 ¶§ ÀÚµ¿À¸·Î Á¦°ÅµË´Ï´Ù.
¹®Á¦Á¡ ID °ªÀº IProblem¿¡ Á¤ÀÇµÈ »ó¼ö Áß Çϳª·Î ¼³Á¤ÇÕ´Ï´Ù. ¹®Á¦Á¡ÀÇ ID´Â È®½ÇÇÏÁö¸¸ ¸Þ½ÃÁö´Â ¹ø¿ªµÇ¹Ç·Î ±âº» ·ÎÄÉÀÏ¿¡ µû¶ó º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù. IProblem¿¡ Á¤ÀÇµÈ »ó¼ö´Â ÀÚü ¼³¸íÀûÀÔ´Ï´Ù.
Java Á¶ÀÛ Áß ¹ß°ßµÈ ¹®Á¦Á¡À» ¼öÁýÇÏ·Á¸é IProblemRequestorÀÇ ±¸ÇöÀ» Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù.
ÀÛ¾÷ ÁßÀÎ »çº» »ý¼º¿¡ ´ëÇØ
IProblemRequestor¸¦ Á¦°øÇÑ °æ¿ì ÀÛ¾÷ ÁßÀÎ »çº»Àº ¹®Á¦Á¡ ŽÁö¸¦ ¼ö¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀ» ¼öÇàÇϱâ À§ÇØ
reconcile ¸Þ¼Òµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°½À´Ï´Ù.
ICompilationUnit unit = ..; // get some compilation unit
// create requestor for accumulating discovered problems
IProblemRequestor problemRequestor = new IProblemRequestor() {
public void acceptProblem(IProblem problem) {
System.out.println(problem.getID() + ": " + problem.getMessage());
}
public void beginReporting() {}
public void endReporting() {}
public boolean isActive() { return true; } // will detect problems if active
};
// use working copy to hold source with error
ICompilationUnit workingCopy = unit.getWorkingCopy(new WorkingCopyOwner() {}, problemRequestor, null);
((IOpenable)workingCopy).getBuffer().setContents("public class X extends Zork {}");
// trigger reconciliation
workingCopy.reconcile(NO_AST, true, null, null);
acceptProblem(IProblem) ¸Þ¼Òµå¿¡ º¸°íµÈ ¹®Á¦Á¡¿¡ ´ëÇÑ Á¶Ä¡¸¦ Ãß°¡ÇÒ ¼ö
ÀÖ½À´Ï´Ù. ÀÌ ¿¹Á¦¿¡¼ º¸°íµÈ ¹®Á¦´Â Zork¸¦ ºÐ¼®ÇÒ ¼ö ¾ø°Å³ª
Zork°¡ ¿Ã¹Ù¸¥ ¼öÆÛŬ·¡½º°¡ ¾Æ´Ï°í ZorkÀÇ ID°¡ IProblem.SuperclassNotFound¶ó´Â Á¡ÀÔ´Ï´Ù.
SuppressWarnings
¸¦ »ç¿ëÇÏ¿© °æ°í Á¦¿ÜJava 5.0Àº java.lang.SuppressWarning
¾î³ëÅ×À̼ÇÀ» »ç¿ëÇÏ¿© ÄÄÆÄÀÏ
´ÜÀ§ÀÇ ¼ºê¼¼Æ®¿Í °ü·ÃµÈ ÄÄÆÄÀÏ °æ°í¸¦ »ç¿ëÇÏÁö ¾Ê´Â ¿É¼ÇÀ» »ç¿ëÀÚ¿¡°Ô Á¦°øÇÕ´Ï´Ù.
@SuppressWarning("unused") public void foo() { String s; }
¾î³ëÅ×À̼ÇÀÌ ¾øÀ¸¸é ÄÄÆÄÀÏ·¯¿¡¼ ·ÎÄà º¯¼ö s
¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
¾î³ëÅ×À̼ÇÀ» »ç¿ëÇÏ¿© ÄÄÆÄÀÏ·¯´Â ÀÌ °æ°í¸¦ foo
¸Þ¼Òµå¿¡ ´ëÇØ ·ÎÄÿ¡¼ ¹«½ÃÇÕ´Ï´Ù. ÀÌ·¯ÇÑ
°æ¿ì µ¿ÀÏÇÑ ÄÄÆÄÀÏ ´ÜÀ§ ¶Ç´Â µ¿ÀÏÇÑ ÇÁ·ÎÁ§Æ®ÀÇ ´Ù¸¥ À§Ä¡¿¡ °æ°í¸¦ º¸°üÇÒ ¼ö ÀÖ½À´Ï´Ù.
SuppressWarning
¾î³ëÅ×ÀÌ¼Ç ³»ºÎ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ÅäÅ«ÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°½À´Ï´Ù.