If the project is in a path which contains one of the danish letters '?' '?' or
'?' (and probably many other characters as well) the following problem occur:
If a a class has a syntax error, it doesn't report it. The editor status bar
just says "File saved" and the main BlueJ window shows "Compiling..." in the
From that point on, it is no longer possible to compile
- even if the syntax
error is removed.
If there are no syntax errors everything works fine.
This has been observed with jdk 1.4.2_09 and 1.5.0_02 on OS X.
It seems to work on Linux with jdk 1.4.2_09
- Comment ----- BLUEJ-1 From Davin McCall 2005-10-12 07:49:06 [reply] -
At least a small part of the problem seems to be a java bug. Mac filenames seem
to be UTF-8 encoded, but it seems that the File.listFiles() method doesn't
correctly decode the '?' character (it comes back as "a?"
- maybe because its
UTF8 representation is two bytes), which causes some problems.
'?' and '?' on the other hand didn't cause me any problems, once I had set the
compiler type to "internal" (it was set to "javac" in the bluej.properties file,
not sure how that ever happened, but it may have been causing the problems as
well). Not that setting to "javac" should really cause too much of a problem;
will have to investigate further.
- Comment ----- BLUEJ-2 From Michael K?lling 2006-04-26 12:02:21 [reply] -
- Bug 1014 has been marked as a duplicate of this bug. ***
- Comment ----- BLUEJ-3 From Davin McCall 2006-08-30 02:21:29 [reply] -
It appears that this is a general problem which can occur on all platforms. The
output of the compiler when an error occurs includes the full path to the source
file which contains the error. This string is encoded using the system character
encoding (when output) and is then decoded, hopefully using the same encoding,
by BlueJ to get the file path.
The problem occurs when the file path contains characters which aren't
representable in the system character encoding. Then, characters are lost during
output (normally turned into '?') and BlueJ never sees the proper path to the file.
The easiest way to work around the problem at the moment is to change the system
character encoding (on Windows, this can be done through the control panel) or
to avoid the use of project paths and package/class names with non-ascii characters.
As a proper fix, the way BlueJ executes the compiler can be modified to avoid
the encoding/decoding step.
- Comment ----- BLUEJ-4 From Poul Henriksen 2006-08-30 08:37:07 [reply] -
Subject: Re: Compiler does not show error messages
I am pretty sure that this is not the reason for the problem on the mac,
as the character encoding I am using (MacRoman) can represent the danish
I just tried creating a folder named "???" from the BlueJ "New Project".
To make any sense, that must be created with the system character
encoding, and should not fail if what you describe is the problem. But
is does fail.