I checked all my modules and everyone inheriths the project output path, this seem to be correct.
Then I deleted the output path, made a rebuild and found that this build was unable to see a package named "img". I changed the name to "garmin" and it worked OK (a new reserved word?)
Then the build was unable to see the files in a package named "com.ermapper.ecw". I can see the folder "com.ermapper" in the tree, but no the package "ecw" even if copied to another place int the tree.
So I guess there is another new reserved word (ecw?), but I feel this time I can't change the package name, because it contains a windows native library with a hard coded path.
So right now I can't compile back the whole project with this build.
I hope there are now new reserved keywords in your JDK :) When a compiler compiles a module A and reports it can't see a package from a module B this usually means that a module B isn't in dependency list of module A. Try to do a rebuild, note where compiler stopped, and check that dependencies are ok. Another possible reason - please make sure there no excluded paths in your project (or they are correct).
The visibility problem is not with modules, but with concrete pakcages inside modules.
I have some excludes, but they are not paths, just java files, and not inside the mentioned packages.
I don't think it has to do with JDK7 as I can't see the packages in the IntelliJ tree vew.
I atttached two captures of the same portion of the tree. The one in IntelliJ don't shows the "ecw" folder (in the module Native). The other package (NativeCenter) is shown.
Looks like the folder com/ermapper/ecw is completely excluded from sources. Could you check a module settings? May be attach a screenshot of Sources tab?
I'm pretty sure it's something wrong with the module Native source settings. Look, on a screesnot IJView.jpg it's a module Native in which the problematic package is located. So I'm asking you to make a same screenshot as you made in graphics.jpg - but for module Native.
The native module don't has a prefix, because its poropuse is to host java files used as interfaces to native libraries, which contains harcoded paths.
Note that it works OK with the regular intelliJ version. I first noticed these problems when trying the EAP version.
My "Ignore Files and folders" contians both extensions IMG and ECW. I don't remember when and why I put them there, but until this build they didn't prevent IntelliJ to see these packages, and I completely forgot about these settings. Maybe it's just the side effect of a bug fix.
Now the project compiles OK but the dependency matrix problem persists. A dialog ("project out of date") ALWAYS ask me to compile the project.
After succesfull compilation, the dialog a mentioned in the first post appears.
I attached a capture to make it clear what is happening.
Please try to note (in a status bar messages) what's going on if you compile the project twice. Normally, in a second run IDEA's incremental compiler should only check that no files were changed since previous make and end up showing corresponding message. If, however, it compiles some classes, then something's not right with either the files or their module' settings.
Could you please try to recompile the project under JDK 6? There are still some incompatibilities between IDEA and JDK 7 compiler which will be addressed in a next EAP.
Circular dependencies (should they present) can be seen on a File | Project Structure | Project page.
Hi Jose,
Looks like you should check output path settings for your project and modules, and make sure that .class files are in their places after compilation.
Hi Roman,
I checked all my modules and everyone inheriths the project output path, this seem to be correct.
Then I deleted the output path, made a rebuild and found that this build was unable to see a package named "img". I changed the name to "garmin" and it worked OK (a new reserved word?)
Then the build was unable to see the files in a package named "com.ermapper.ecw". I can see the folder "com.ermapper" in the tree, but no the package "ecw" even if copied to another place int the tree.
So I guess there is another new reserved word (ecw?), but I feel this time I can't change the package name, because it contains a windows native library with a hard coded path.
So right now I can't compile back the whole project with this build.
I hope there are now new reserved keywords in your JDK :)
When a compiler compiles a module A and reports it can't see a package from a module B this usually means that a module B isn't in dependency list of module A. Try to do a rebuild, note where compiler stopped, and check that dependencies are ok.
Another possible reason - please make sure there no excluded paths in your project (or they are correct).
Yes, this is stange.
The visibility problem is not with modules, but with concrete pakcages inside modules.
I have some excludes, but they are not paths, just java files, and not inside the mentioned packages.
I don't think it has to do with JDK7 as I can't see the packages in the IntelliJ tree vew.
I atttached two captures of the same portion of the tree. The one in IntelliJ don't shows the "ecw" folder (in the module Native). The other package (NativeCenter) is shown.
This is why I was thinking on reserved words...
Attachment(s):
explorerView.jpg
IJView.jpg
A simple test:
- Renamed ecw to ecw2 with explorer: the package is shown in the tree view
- Renamed back to ecw: hidden again
No ecw in Settings> Compiler > Excludes
Looks like the folder com/ermapper/ecw is completely excluded from sources. Could you check a module settings? May be attach a screenshot of Sources tab?
Nothing special, just points the sources to the src folder
Attachment(s):
graphics.jpg
But the package in question is in Native module, why have you screenshoted Graphics one?
Sorry I tought it was clear from the capture
7 Util --------------> a module group
--------Basic --------------> a module sub group
--------Database --------------> a module sub group
--------Graphics --------------> a module sub group
--------------------Graphcis --------------> a module
--------------------Native -----------------> a module
-------------------------------src------------------> Native module source base
Please, would you check naming a package "ecw" in your installation?
I tried - of course it works ok.
I'm pretty sure it's something wrong with the module Native source settings. Look, on a screesnot IJView.jpg it's a module Native in which the problematic package is located. So I'm asking you to make a same screenshot as you made in graphics.jpg - but for module Native.
I see I captured the wrong module.
The native module don't has a prefix, because its poropuse is to host java files used as interfaces to native libraries, which contains harcoded paths.
Note that it works OK with the regular intelliJ version. I first noticed these problems when trying the EAP version.
Attachment(s):
native.jpg
Sorry, I placed my reply 2 messages above this one
Tree is expanded in this capture
Attachment(s):
native.jpg
Maybe it has to do with the fact that both "img" and "ecw" are registered extensions in my windows installation.
Please, try to create a package using one of your registered extensions
No, that's not the reason.
Post please entire string from Settings | File Types | Ignore files and folders.
You got it, thanks for your support!
My "Ignore Files and folders" contians both extensions IMG and ECW. I don't remember when and why I put them there, but until this build they didn't prevent IntelliJ to see these packages, and I completely forgot about these settings. Maybe it's just the side effect of a bug fix.
Now the project compiles OK but the dependency matrix problem persists. A dialog ("project out of date") ALWAYS ask me to compile the project.
After succesfull compilation, the dialog a mentioned in the first post appears.
I attached a capture to make it clear what is happening.
Attachment(s):
DMS.jpg
Please try to note (in a status bar messages) what's going on if you compile the project twice.
Normally, in a second run IDEA's incremental compiler should only check that no files were changed since previous make and end up showing corresponding message. If, however, it compiles some classes, then something's not right with either the files or their module' settings.
Yes, you are right. There must be something wrong with this project, as it always recompiles.
But how I can get a clue?. The compiler succeds and the Project view shows nothing wrong.
Sometimes I have seen a rather hidden warning about cyclic dependencies between modules, but not this time.
On the other hand the J7 compiler seem to be more intolerant with some faults, but right now it compiled the whole project.
I'll have to do more tests but right now I have no idea what to start with
Could you please try to recompile the project under JDK 6? There are still some incompatibilities between IDEA and JDK 7 compiler which will be addressed in a next EAP.
Circular dependencies (should they present) can be seen on a File | Project Structure | Project page.
Roman,
With J6 there where no problems with the Dependecy Matrix dialog
First time I compiled with j7 I had to correct some errors in the sources that would pass the jd6 filter
Once corrected, j7 compilation was OK, but then the DMS problem appeared.
Goin back to j6 Dependecy Matrix works again