1ecj(13 March 2017)                                          ecj(13 March 2017)
2
3
4

NAME

6       ecj - the eclipse JDT Batch Compiler
7
8

SYNOPSIS

10       ecj [OPTION]... [SOURCEFILE]...  ...
11

DESCRIPTION

13       ecj  is  the  batch  compiler from Eclipse and is available as ecj.jar.
14       Since 3.3, this jar also contains the support for jsr199 (Compiler API)
15       and the support for jsr269 (Annotation processing). In order to use the
16       annotations processing support, a 1.6 VM is required.
17
18

OPTIONS SUMMARY

20       Here is a summary of all the options, grouped  by  type.   Explanations
21       are in the OPTIONS section.
22
23       Module Options
24
25       --add-exports  --add-modules  --add-reads  --limit-modules -p|--module-
26       path --module-source-path  --processor-module-path --system
27
28       ClassPath Options
29
30       -bootclasspath -cp|-classpath  -extdirs  -endorseddirs  -sourcepath  -d
31       -encoding
32
33       Compliance Options
34
35       -target -1.3 -1.4 -1.5 -1.6 -1.7 -1.8 1.9 -source  --release
36
37       Warning Options
38
39       -?:warn -help:warn -warn:... -nowarn -err:... -deprecation -properties
40
41       Debug Options
42
43       -g -preserveAllLocals -parameters
44
45       Annotation Processing Options
46
47       -Akey[=value]  -proc:[only|none]  -processor -processorpath -s -Xprint‐
48       ProcessorInfo -XprintRounds -classNames
49
50       Ignored Options (for compatibility with javac options)
51
52       -J -X -O
53
54       Advanced Options
55
56       @<file> -maxProblems -log -Xemacs -proceedOnError -verbose  -reference‐
57       Info  -progress  -time -noExit -repeat -inlineJSR -enableJavaDoc -miss‐
58       ingNullDefault
59
60       Helping Options
61
62       -? -help -v -version -showversion
63
64

OPTIONS

66       Module Options (Supported from 9 onwards)
67
68
69       --add-exports   <source-module>/<package>=<target-module>(,<target-mod‐
70       ule>)*
71              A command line form of exports statement which exports the pack‐
72              age in source-module to the comma separated list of target  mod‐
73              ules.
74
75
76       --add-modules <module 1>,<module 2>,...,<module P>
77              Extend the default set of root modules with a list of comma sep‐
78              arated modules.
79
80
81       --add-reads <source-module>=<target-module>
82              A command line form of a requires clause  equivalent  to  adding
83              requires source-module in target modules module-info file.
84
85
86       --limit-modules <module 1>,<module 2>,...,<module P>
87              Limit the observable modules to the list of comma separated mod‐
88              ules.
89
90
91       -p|--module-path <dir 1>;<dir 2>;...;<dir P>
92              This is a list of directories where application modules  can  be
93              found. Entries are separated by the platform path separator.
94
95
96       --module-source-path <dir 1>;<dir 2>;...;<dir P>
97              This is a list of directories where source files for modules can
98              be found. Entries are separated by the platform path separator.
99
100
101       --processor-module-path <path>
102               module path where annotation processors can be found.
103
104
105       --system <jdk>
106               Override location of system modules.
107
108
109       ClassPath Options
110
111
112       -bootclasspath <dir 1>;<dir 2>;...;<dir P>
113              This is a list of directories or jar files used to bootstrap the
114              class  files  used  by the compiler. By default the libraries of
115              the running VM are used. Entries are separated by  the  platform
116              path separator.  Each directory or file can specify access rules
117              for types between '[' and ']'.  If no  bootclasspath  is  speci‐
118              fied,  the  compiler  will  infer  it using the following system
119              properties    sun.boot.class.path,     vm.boot.class.path     or
120              org.apache.harmony.boot.class.path in this order respectively
121
122
123       -cp|-classpath <dir 1>;dir2;...<dir P>
124              This  is  a list of directories or jar files used to compile the
125              source files. The default value is the  value  of  the  property
126              "java.class.path".  Entries  are  separated by the platform path
127              separator.  Each directory or file can specify access rules  for
128              types between '[' and ']' (e.g. [-X] to forbid access to type X,
129              [~X] to discourage access  to  type  X,  [+p/X:-p/*]  to  forbid
130              access  to all types in package p but allow access to p/X).  The
131              compiler follows the Class-Path clauses of jar files'  manifests
132              recursively  and  appends each referenced jar file to the end of
133              the classpath, provided it is not on the classpath yet.
134
135
136       -extdirs <dir 1>;<dir 2>;...;<dir P>
137              This is a list of directories used to specify  the  location  of
138              extension  zip/jar  files. Entries are separated by the platform
139              path separator.
140
141
142       -endorseddirs <dir 1>;<dir 2>;...;<dir P>
143              This is a list of directories used to specify  the  location  of
144              endorsed  zip/jar  files.  Entries are separated by the platform
145              path separator.
146
147
148       -sourcepath <dir 1>;<dir 2>;...;<dir P>
149              This is a list of directories used to specify the source  files.
150              Entries  are  separated  by  the  platform path separator.  Each
151              directory can specify access rules for  types  between  '['  and
152              ']'.
153
154
155       -d <dir 1>|none
156              This  is used to specify in which directory the generated .class
157              files should be dumped. If it is omitted, no  package  directory
158              structure is created.  If you want to generate no .class file at
159              all, use -d none.
160
161
162       -encoding <encoding name>
163              Specify default encoding for all source files.  Custom  encoding
164              can  also  be  specified  on  a per file basis by suffixing each
165              input source file/folder name with [<encoding name>]. For  exam‐
166              ple  X.java[UTF-8] would specify the UTF-8 encoding for the com‐
167              pilation unit X.java located in the current user directory.   If
168              multiple  default  source file encodings are specified, the last
169              one will be used.
170
171              For example: ... -encoding UTF-8  X.java[Cp1252]  Y.java[UTF-16]
172              Z.java ....
173              All  source  files  will  be  read  using  UTF-8  encoding (this
174              includes Z.java). X.java will be read using Cp1252 encoding  and
175              Y.java will be read using UTF-16 encoding.
176
177              ... -encoding UTF-8 -encoding UTF-16 ....
178              All source files will be read using UTF-16 encoding. The -encod‐
179              ing option for UTF-8 is ignored.
180
181              ...  -encoding  Cp1252  /foo/bar/X.java[UTF-16]  /foo/bar[UTF-8]
182              ....
183              All  source  files will be read using Cp1252 encoding. X.java is
184              the only file inside the /foo/bar directory to be read using the
185              encoding  UTF-16.  All  other  files  in that directory will use
186              UTF-8 encoding.
187
188
189       Compliance Options
190
191
192       -target 1.1 to 1.9 (or 9, 9.0, etc.)
193              This specifies the .class  file  target  setting.  The  possible
194              value are:
195              1.1 (major version: 45 minor: 3)
196              1.2 (major version: 46 minor: 0)
197              1.3 (major version: 47 minor: 0)
198              1.4 (major version: 48 minor: 0)
199              1.5, 5 or 5.0 (major version: 49 minor: 0)
200              1.6, 6 or 6.0 (major version: 50 minor: 0)
201              1.7, 7 or 7.0 (major version: 51 minor: 0)
202              1.8, 8 or 8.0 (major version: 52 minor: 0)
203              1.9, 9 or 9.0 (major version: 53 minor: 0)
204
205              Defaults are:
206              1.1 in -1.3 mode
207              1.2 in -1.4 mode
208              1.5 in -1.5 mode
209              1.6 in -1.6 mode
210              1.7 in -1.7 mode
211              1.8 in -1.8 mode
212              1.9  in  -1.9  mode clcd1.1 can be used to generate the StackMap
213              attribute.
214
215
216       -1.3   Set compliance level to 1.3. Implicit -source 1.3 -target 1.1.
217
218
219       -1.4   Set compliance level to  1.4  (default).  Implicit  -source  1.3
220              -target 1.2.
221
222
223       -1.5   Set compliance level to 1.5. Implicit -source 1.5 -target 1.5.
224
225
226       -1.6   Set compliance level to 1.6. Implicit -source 1.6 -target 1.6.
227
228
229       -1.7   Set compliance level to 1.7. Implicit -source 1.7 -target 1.7.
230
231
232       -1.8   Set compliance level to 1.8. Implicit -source 1.8 -target 1.8.
233
234
235       -1.9   Set compliance level to 1.9. Implicit -source 1.9-target 1.9.
236
237
238       -source 1.1 to 1.9 (or 9, 9.0, etc.)
239              This  is  used  to specify the source level expected by the com‐
240              piler.  The possible value are:
241              1.3
242              1.4
243              1.5, 5 or 5.0
244              1.6, 6 or 6.0
245              1.7, 7 or 7.0
246              1.8, 8 or 8.0
247              1.9, 9 or 9.0
248
249              Defaults are:
250              1.3 in -1.3 mode
251              1.3 in -1.4 mode
252              1.5 in -1.5 mode
253              1.6 in -1.6 mode
254              1.7 in -1.7 mode
255              1.8 in -1.8 mode
256              1.9 in -1.9 mode
257              In 1.4, assert is treated as a keyword. In 1.5 and 1.6, enum and
258              assert are treated as keywords.
259
260
261       --release N
262              Compile  for  a  specific VM version. Used for compiling against
263              older APIs.
264
265
266       Warning Options
267
268
269       -?:warn -help:warn
270              Display advanced warning options
271
272
273       -warn:...
274              Specify the set of enabled warnings.
275              -warn:none                              disable all warnings
276              -warn:<warning tokens  separated  by  ,>    enable  exactly  the
277              listed warnings
278              -warn:+<warning  tokens separated by ,>  enable additional warn‐
279              ings
280              -warn:-<warning tokens separated by ,>  disable  specific  warn‐
281              ings
282
283              Examples:
284
285              warn:unusedLocal,deprecation
286              enables  only the given two warning options and disables all the
287              other options
288
289              warn:-unusedLocal,deprecation,+fallthrough
290              disables unusedLocal and deprecation, enables  fallthrough,  and
291              leaves the other warning options untouched
292
293              The  first column below shows the default state for an option. A
294              mark "+/-" indicates that an option covers several fine  grained
295              warning  variants,  some of which are enabled by default, others
296              disabled. This means that specifying the given option  with  "+"
297              will  enable  more warnings than the default, and specifying "-"
298              disables some that are enabled by default.
299
300
301              +/- allDeadCode dead code including trivial if (DEBUG) check
302
303              +/- allDeprecation deprecation even inside deprecated code
304
305               -  allJavadoc invalid or missing Javadoc
306
307               -  allOver-ann all missing  @Override  annotations  (superclass
308              and superinterfaces)
309
310               -  all-static-method all method can be declared as static warn‐
311              ings
312
313               +  assertIdentifier occurrence of assert used as identifier
314
315               -  boxing autoboxing conversion
316
317               +  charConcat when a char array is used in a string  concatena‐
318              tion without being converted explicitly to a string
319
320               +  compareIdentical comparing identical expressions
321
322               -  conditionAssign possible accidental boolean assignment
323
324               +  constructorName method with constructor name
325
326               +  deadCode dead code excluding trivial if (DEBUG) check
327
328               -  dep-ann missing @Deprecated annotation
329
330              +/-  deprecation usage of deprecated type or member outside dep‐
331              recated code
332
333               +  discouraged use of types matching a discouraged access rule
334
335               -  emptyBlock undocumented empty block
336
337               +  enumIdentifier occurrence of enum used as identifier
338
339               +  enumSwitch incomplete enum switch
340
341               -  enumSwitchPedantic report missing enum switch cases even  in
342              the presence of a default case
343
344               -  fallthrough possible fall-through case
345
346               -  fieldHiding field hiding another variable
347
348               +  finalBound type parameter with final bound
349
350               +  finally finally block not completing normally
351
352               +  forbidden use of types matching a forbidden access rule
353
354               -  hashCode missing hashCode() method when overriding equals()
355
356              +/- hiding macro for fieldHiding, localHiding, maskedCatchBlock,
357              and typeHiding
358
359               -  includeAssertNull raise null warnings for variables that got
360              tainted in an assert expression
361
362               -  indirectStatic indirect reference to static member
363
364               -   inheritNullAnnot  consider null annotations as being inher‐
365              ited from an overridden method to any overriding methods
366
367               +  intfAnnotation annotation type used as super interface
368
369               +  intfNonInherited interface non-inherited method  compatibil‐
370              ity
371
372               -  intfRedundant find redundant superinterfaces
373
374               -   invalidJavadoc  macro to toggle the 'malformed Javadoc com‐
375              ments' option and all its sub-options listed below
376
377               -  invalidJavadocTag report invalid  Javadoc  tags  in  Javadoc
378              comments.
379
380               -  invalidJavadocTagDep report invalid deprecated references in
381              Javadoc tag arguments
382
383               -  invalidJavadocTagNotVisible report invalid non-visible  ref‐
384              erences in Javadoc tag arguments
385
386               -   invalidJavadocVisibility(<visibility>)  specify  visibility
387              modifier ("public",  "protected"  or  "private")  for  malformed
388              Javadoc  tag  warnings.  Usage  example:  invalidJavadocVisibil‐
389              ity(public)
390
391               -  javadoc invalid Javadoc
392
393               -  localHiding local variable hiding another variable
394
395               +  maskedCatchBlock hidden catch block
396
397               -  missingJavadocTags macro  to  toggle  the  'missing  Javadoc
398              tags' option and all its sub-options listed below
399
400               -   missingJavadocTagsMethod  report missing Javadoc tags for a
401              method's type parameters
402
403               -  missingJavadocTagsOverriding report missing Javadoc tags  in
404              overriding methods
405
406               -   missingJavadocTagsVisibility(<visibility>) specify visibil‐
407              ity modifier ("public", "protected" or  "private")  for  missing
408              Javadoc tags warnings. Usage example: missingJavadocTagsVisibil‐
409              ity(public)
410
411               -  missingJavadocComments macro to toggle the 'missing  Javadoc
412              comments' option and all its sub-options listed below
413
414               -  missingJavadocCommentsOverriding report missing Javadoc com‐
415              ments in overriding methods
416
417               -  missingJavadocCommentsVisibility(<visibility>) specify visi‐
418              bility modifier ("public", "protected" or "private") for missing
419              Javadoc comments  warnings.  Usage  example:  missingJavadocCom‐
420              mentsVisibility(public)
421
422               -  nls non-nls string literals (lacking of tags //$NON-NLS-<n>)
423
424               +  noEffectAssign assignment with no effect
425
426               +   nonnullNotRepeated  nonnull parameter annotation from over‐
427              ridden method is not repeated in an overriding method. Is effec‐
428              tive only with the nullAnnot option enabled.
429
430              +/- null potential missing or redundant null check
431
432               -    nullAnnot  enable  annotation  based  null  analysis.   If
433              desired, the annotation types to be interpreted by the  compiler
434              can  be  specified  by  appending (nullable|nonnull|nonnullbyde‐
435              fault), where each annotation type is specified using its  fully
436              qualified   name.   Usage  example:  nullAnnot(p.Nullable|p.Non‐
437              Null|p.NonNullByDefault)
438
439              Enabling this option enables all  null-annotation  related  sub-
440              options.  These  can  be  individually  controlled using options
441              listed below
442
443               -  nullAnnotConflict report conflicts between  null  annotation
444              specified and nullness inferred. Is effective only with the nul‐
445              lAnnot option enabled.
446
447               -  nullAnnotRedundant report redundant  specification  of  null
448              annotation. Is effective only with the nullAnnot option enabled.
449
450               -  nullDereference missing null check
451
452               -   nullUncheckedConversion  report  unchecked  conversion from
453              unannotated type to @NonNull type. Is effective  only  with  the
454              nullAnnot option enabled.
455
456               -  over-ann missing @Override annotation (superclass only)
457
458               -  paramAssign assignment to a parameter
459
460               +  pkgDefaultMethod attempt to override package-default method
461
462               +  raw usage a of raw type (instead of a parameterized type)
463
464              +/-  resource  (potentially)  unsafe  usage  of resource of type
465              Closeable
466
467               -  semicolon unnecessary semicolon or empty statement
468
469               +  serial missing serialVersionUID
470
471               -  specialParamHiding constructor or  setter  parameter  hiding
472              another field
473
474              +/- static-access macro for indirectStatic and staticReceiver
475
476               -   static-method  an instance method that could be as a static
477              method
478
479               +  staticReceiver if a non static receiver is  used  to  get  a
480              static field or call a static method
481
482               -  super overriding a method without making a super invocation
483
484               +  suppress enable @SuppressWarnings
485
486               -  switchDefault switch statement lacking a default case
487
488               -   syncOverride  missing  synchronized  in synchronized method
489              override
490
491               -  syntacticAnalysis perform  syntax-based  null  analysis  for
492              fields
493
494               -   syntheticAccess when performing synthetic access for inner‐
495              class
496
497               -  tasks enable support for tasks tags in source code
498
499               +  typeHiding type parameter hiding another type
500
501               +   unavoidableGenericProblems  report  even  unavoidable  type
502              safety problems due to raw APIs
503
504               +  unchecked unchecked type operation
505
506               -  unnecessaryElse unnecessary else clause
507
508               -  unqualifiedField unqualified reference to field
509
510              +/-  unused  macro  for  unusedImport, unusedLabel, unusedLocal,
511              unusedPrivate, unusedThrown, unusedTypeArgs,  and  unusedTypePa‐
512              rameter
513
514               -  unusedAllocation allocating an object that is not used
515
516               -   unusedArgument  unused method parameter (deprecated option;
517              use unusedParam instead)
518
519               +  unusedImport unused import reference
520
521               +  unusedLabel unused label
522
523               +  unusedLocal unused local variable
524
525               +  unusedParam unused method parameter
526
527               +  unusedParamImplementing unused  parameter  for  implementing
528              method
529
530               +   unusedParamIncludeDoc  unused  parameter  documented  in  a
531              Javadoc comment tag
532
533               +  unusedParamOverriding unused parameter for overriding method
534
535               +  unusedPrivate unused private member declaration
536
537               -  unusedThrown unused declared thrown exception
538
539               -  unusedThrownIncludeDocComment unused declared thrown  excep‐
540              tion documented in a Javadoc comment tag
541
542               -   unusedThrownExemptExceptionThrowable report unused declared
543              thrown exception but exempt Exception and Throwable
544
545               -  unusedThrownWhenOverriding unused declared thrown  exception
546              in overriding method
547
548               +   unusedTypeArgs  unused  type  arguments for method and con‐
549              structor
550
551               +  unusedTypeParameter unused type parameter
552
553               -  uselessTypeCheck unnecessary cast/instanceof operation
554
555               +  varargsCast varargs argument need explicit cast
556
557              +/- warningToken unhandled or unused warning token in @Suppress‐
558              Warnings
559
560
561       -nowarn
562              No warning (equivalent to -warn:none)
563
564       -err:...
565              Specify  the  set  of  enabled  warnings  that  are converted to
566              errors.
567              E.g.
568              -err:unusedLocal,deprecation
569              unusedLocal  and  deprecation  warnings  will  be  converted  to
570              errors. All other warnings are still reported as warnings.
571
572              -err:<warning  tokens  separated  by  ,>     convert exactly the
573              listed warnings to errors
574              -err:+<warning tokens separated by ,>   convert additional warn‐
575              ings to errors
576              -err:-<warning tokens separated by ,>   remove specific warnings
577              from being converted to errors
578
579
580       -deprecation
581              Equivalent to -warn:+deprecation.
582
583       -properties <file>
584              Set warnings/errors option based on  the  properties  file  con‐
585              tents. This option can be used with -nowarn, -err:.. or -warn:..
586              options, but the last one on the command line sets  the  options
587              to be used.
588
589              The properties file contents can be generated by setting project
590              specific settings on an existing java project and using the file
591              in  .settings/org.eclipse.jdt.core.prefs  file  as  a properties
592              file, or a simple text file that is  defined  entry/value  pairs
593              using the constants defined in the org.eclipse.jdt.core.JavaCore
594              class. Of those constants declared in this  class,  all  options
595              starting  with  "org.eclipse.jdt.core.compiler." are interpreted
596              by the batch compiler.
597
598               ...
599              org.eclipse.jdt.core.compiler.problem.annotationSuperInter‐
600              face=warning
601              org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
602              org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
603               ...
604
605              To  ensure that a property file has the same effect when used in
606              the IDE and for the  batch  compiler,  use  of  the  -properties
607              option will change the defaults for a few options:
608
609              -g                       default changed to all enabled
610              -preserveAllLocals       default changed to enabled
611              -enableJavadoc           default changed to enabled
612              error/warning forbidden default changed to error
613
614
615       Debug Options
616
617
618       -g[:none|:lines,vars,source]
619              Set the debug attributes level
620              -g                         All   debug   info   (equivalent   to
621              -g:lines,vars,source)
622              -g:none                  No debug info
623              -g:[lines,vars,source]   Selective debug info
624              Not  specifying   this   option   is   equivalent   to   setting
625              -g:lines,source.
626
627
628       -preserveAllLocals
629              Explicitly  request the compiler to preserve all local variables
630              (for debug purpose). If omitted, the compiler will remove unused
631              locals.
632
633       -parameters
634              Explicitly  request  the  compiler to preserve information about
635              the formal parameters of a method (such as their  names)  to  be
636              accessed  from reflection libraries, annotation processing, code
637              weaving, and in the debugger. This option is supported from tar‐
638              get level 1.8 and later.  Annotation processing options (require
639              a 1.6 VM or above and are used only if the compliance is 1.6)
640
641
642       Annotation Processing Options
643
644
645       -Akey[=value]
646              Annotation processors options that are passed to annotation pro‐
647              cessors. key is made of identifiers separated by dots
648
649
650       -proc:[only|none]
651              If  -proc:only  is specified, the annotation processors will run
652              but no compilation will be performed. If  -proc:none  is  speci‐
653              fied,  annotation processors will not be discovered or run; com‐
654              pilation will proceed as if no annotation processors were found.
655              By default the compiler must search the classpath for annotation
656              processors, so specifying -proc:none may  speed  compilation  if
657              annotation processing is not required.
658
659       -processor <class1[,class2,...]>
660              Qualified class names of annotation processors to run. If speci‐
661              fied, the normal processor discovery process will be skipped.
662
663       -processorpath <dir 1>;<dir 2>;...;<dir P>
664              A list of directories or jar files which will  be  searched  for
665              annotation  processors.  Entries  are  separated by the platform
666              path separator. If not specified, the classpath will be searched
667              instead.
668
669       -s <dir>
670              The directory where generated source files will be created.
671
672       -XprintProcessorInfo
673              Print  information  about which annotations and which elements a
674              processor is asked to process
675
676       -XprintRounds
677              Print information about annotation processing rounds
678
679       -classNames <class1[,class2,...]>
680              Qualified names of binary types that need to be processed
681
682
683       Ignored Options (for compatibility with javac options)
684
685
686       -J<option>
687              Pass option to the virtual machine
688
689       -X<option>
690              Specify non-standard option. -Xemacs is not ignored.
691
692       -X     Print non-standard options and exit
693
694       -O     Optimize for execution time
695
696
697       Advanced Options
698
699
700       @<file>
701              Read command-line arguments from file
702
703       -maxProblems <n>
704              Max number of problems per compilation unit (100 by default)
705
706       -log <filename>
707              Specify a log file in which all output from the compiler will be
708              dumped.  This  is  really  useful if you want to debug the batch
709              compiler or get a file which contains all  errors  and  warnings
710              from  a batch build. If the extension is .xml, the generated log
711              will be an xml file.
712
713       -genericsignature
714              Explicitly request the compiler to  preserve  information  about
715              generic signature of lambda expressions.
716
717       -Xemacs
718              Use  emacs  style  to present errors and warnings locations into
719              the console and regular text logs. XML logs  are  unaffected  by
720              this option. With this option active, the message:
721                  2. WARNING in /workspace/X.java
722                  (at line 8)...
723              is presented as:
724                  /workspace/X.java:8: warning: The method...
725
726
727       -proceedOnError[:Fatal]
728              Keep  compiling  in  spite  of  errors, dumping class files with
729              problem methods or problem types. This is  recommended  only  if
730              you  want  to  be  able to run your application even if you have
731              remaining  errors.   With  ":Fatal",  all  optional  errors  are
732              treated  as  fatal  and this leads to code that will abort if an
733              error is reached at runtime. Without ":Fatal",  optional  errors
734              don't prevent the proper code generation and the produced .class
735              files can be run without a problem.
736
737       -verbose
738              Print accessed/processed compilation units in the console or the
739              log file if specified.
740
741       -referenceInfo
742              Compute  reference info. This is useful only if connected to the
743              builder. The reference infos are useless otherwise.
744
745       -progress
746              Show progress (only in -log mode).
747
748       -time  Display speed information.
749
750       -noExit
751              Do not call System.exit(n) at end  of  compilation  (n=0  if  no
752              error).
753
754       -repeat <n>
755              Repeat compilation process <n> times (perf analysis).
756
757       -inlineJSR
758              Inline JSR bytecode (implicit if target >= 1.5).
759
760       -enableJavadoc
761              Consider  references  inside  Javadoc.  The  Javadoc options are
762              effective only when this option is enabled.
763
764       -missingNullDefault
765              When annotation based null analysis is enabled  (using  "nullAn‐
766              not", above), this option will raise a warning whenever there is
767              no default annotation on a package or a type.
768
769       -annotationpath
770              When annotation based null analysis is enabled  (using  "nullAn‐
771              not", above), this option defines locations where to find exter‐
772              nal annotations to support annotation-based null analysis.   The
773              value  of  this  options  is a list of directories or zip files.
774              Entries are separated by the platform path separator.  The  spe‐
775              cial  name  CLASSPATH  will cause lookup of external annotations
776              from the classpath and sourcepath.
777
778
779       Helping Options
780
781
782       -? -help
783              Display the help message.
784
785       -v -version
786              Display the build number of the compiler. This is very useful to
787              report a bug.
788
789       -showversion
790              Display  the  build number of the compiler and continue. This is
791              very useful to report a bug.
792
793

SEE ALSO

795       <http://help.eclipse.org/topic/org.eclipse.jdt.doc.user/tasks/task-
796       using_batch_compiler.htm>
797

BUGS

799       To  report bugs, use <https://bugs.eclipse.org/bugs/enter_bug.cgi?prod
800       uct=JDT&component=Core>
801

AUTHOR

803       For details on Eclipse committers, see  <http://www.eclipse.org/commit
804       ters/>
805
806
807
808                                                            ecj(13 March 2017)
Impressum