I had an adventure tracking this one down lately, it seems that if your IDE saves files as UTF-8, the java compiler can’t always resolve the files.
Here’s the errors from the console output:
[INFO] ————————————————————————
[ERROR] BUILD FAILURE
[INFO] ————————————————————————
[INFO] Compilation failureC:\Sandbox\Jars\example.jar\src\main\java\com\giantgeek\Example.java:[1,0] ‘class’ or ‘interface’ expected
C:\Sandbox\Jars\example.jar\src\main\java\com\giantgeek\Example.java:[1,1] illegal character: \187
C:\Sandbox\Jars\example.jar\src\main\java\com\giantgeek\Example.java:[1,2] illegal character: \191
Those character codes (\187 \191) may look a little familiar to some people, as they represent the Byte Order Mark (BOM) that prefixes a UTF-8 formatted file. If you look at them in a file editor (or text editor that doesn’t interpret UTF-8) they will look odd.
They look like “an i (two dots over), double right arrow, upside down question mark”.
Simple solution is to re-edit and save the file as ISO-8859-1.
An alternate approach that is available in some instances is to use the arguments to javac to allow the file encoding.
References:
- http://www.example-code.com/java/java-utf8.asp
- http://www.unicode.org/unicode/faq/utf_bom.html
- http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4508058
Cheers!