This chapter describes the use of the Java Card 3 platform Compiler tool ( javacardc.bat ) in compiling the source code of applications outside of an IDE.
See Chapter 3 to better understand the role and relationship between the Compiler tool and the other Development Kit tools used in developing applications for the Java Card 3 platform.
Running the Compiler Tool from the Command Line
The Compiler tool provides a wrapper for javac (the JDK compiler) and includes an annotation processor for the Java Card 3 platform to check for unsupported language features, such as the use of float and double .
Compiler Tool Options
In addition to Java Card 3 platform specific options, all standard javac options for JDK 1.6 can be used:
TABLE 6-1 Compiler Tool Options
Option
|
Description |
-g
|
Generate all debugging info |
-g:none
|
Generate no debugging info |
-g:{lines,vars,source}
|
Generate only some debugging info |
-nowarn
|
Generate no warnings |
-verbose
|
Output messages about what the compiler is doing |
-deprecation
|
Output source locations where deprecated APIs are used |
-classpath path
|
Specify where to find user class files and annotation processors |
-cp path
|
Specify where to find user class files and annotation processors. |
-sourcepath path
|
Specify where to find input source files. |
-bootclasspath path
|
Override location of bootstrap class files. |
-extdirs dirs
|
Override location of installed extensions. |
-endorseddirs dirs
|
Override location of endorsed standards path. |
-proc:{none,only}
|
Control whether annotation processing and/or compilation is done. |
-processor class1
[,class2
,class3
...]
|
Names of the annotation processors to run; bypasses default discovery process. |
-processorpath path
|
Specify where to find annotation processors. |
-d directory
|
Specify where to place generated class files. |
-s directory
|
Specify where to place generated source files. |
-implicit:{none,class}
|
Specify whether or not to generate class files for implicitly referenced files. |
-encoding encoding
|
Specify character encoding used by source files. |
-source release
|
Provide source compatibility with specified release. |
-target release
|
Generate class files for specific VM version. |
-version
|
Version information. |
-help
|
Print a synopsis of standard options. |
-Akey[=value]
|
Options to pass to annotation processors. |
-X
|
Print a synopsis of nonstandard options. |
-Jflag
|
Pass flag directly to the runtime system. |
Format
The following is an example of the Compiler tool command format:
javacardc.bat [ options ] [ sourcefiles ] [ @list_files ]
In the format example:
- options - standard javac options,
- sourcefiles - .java files to be compiled
- @list_files - plain text file containing a list of all java files that need to be compiled
Examples
A .java file named UsesFloat.java contains the following source:
public class UsesFloat {
float f = 0;
}
It uses float , which is not supported by the Java Card 3 platform. Compiling this file with standard javac generates a class file without any errors. However, javacardc.bat fails the compilation with an error such as the following:
C:\JCDK3.0.1_ConnectedEdition\bin>javacardc.bat UsesFloat.java
Java Card 3.0.1 Compiler
UsesFloat.java:2: float keyword used
float f = 0;
^
1 error
The bold text in the example output indicates the error message text.
Development Kit User's Guide |
May 2009 |
|
Copyright © 2009 Sun Microsystems, Inc. All rights reserved.