Description
Menu command Run / Clean and Build Project fails with exception:
An input/output error occurred.
Consult the following stack trace for details.
java.nio.charset.MalformedInputException: Input length = 1
at java.base/java.nio.charset.CoderResult.throwException(CoderResult.java:274)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:185)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at java.base/java.io.BufferedReader.read(BufferedReader.java:182)
at jdk.compiler/com.sun.tools.javac.main.CommandLine$Tokenizer.<init>(CommandLine.java:143)
at jdk.compiler/com.sun.tools.javac.main.CommandLine.loadCmdFile(CommandLine.java:129)
at jdk.compiler/com.sun.tools.javac.main.CommandLine.appendParsedCommandArgs(CommandLine.java:71)
at jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:102)
at jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:123)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:215)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
Investigation
This is a NetBeans 8.2 project in working state. It has been opened in NetBeans 10, then project platform was updated to JDK11. No change to source code was applied.
If a package "property" is compiled first by F9, followed by menu command Run / Build Project, the command completes with success. Comparison of ant logs (debug mode, see attached) indicates a difference in method how list of files is delivered to javac compiler. In failed case (clean+build) a command line construct @,,,\file... is used, In second lucky case (compile then build) it is a sequence of explicit file paths. I suspect the construct "@" is created in wrong charset. I expect UTF-8 must be used. Please note file names use Russian text. I guess it will be corrupt with no UTF-8 used. System charset is windows1251.
Information
Product Version: Apache NetBeans IDE 10.0 (Build incubator-netbeans-release-380-on-20181217)
Java: 11.0.2; OpenJDK 64-Bit Server VM 11.0.2+9
Runtime: OpenJDK Runtime Environment 11.0.2+9
System: Windows 10 version 10.0 running on amd64; Cp1251; ru_RU (nb)
Project sources: JDK8
Project platform: OpenJDK11
Compiles with: -bootclasspath "C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar"