Problems migrating projects to IDEA 7.0

My company has just upgraded to IDEA 7.0, partly on my advice. But I've found that IDEA 7.0 is failing to compile several of our existing IDEA 6.0 projects. So to save myself some embarrassment I'm wondering if the changes to the project configuration and especially relating to multi-modules and exports is documented somewhere (bundled help is useless here).

One of the problems appears to be the order of jars/resources that are inherited (exported) from a parent module aren't being preserved under 7.0. This impacts my ui project which is using both swingx and the swingx-incubator which contains amoung other things enhanced (unproven) classes from the main package (ie. redefined classes with the same package and class name, but different signatures! ..ordering is everything!). So long as the incubator is higher in the classpath than the main package IDEA 6.0 would highlight the differences as errors (in the editor) but compiled without any problems, IDEA 7.0 just bails. Maybe 6.0 didnt preserve the order per-se, but I got lucky and it happend to work, but with 7.0 our lucks finally run out?

Another project falls foul of an issue I've asked about before (no replies) It appears that classes from test folders won't be available to a dependant module even when its marked as exported? This is more of a painful deviation from IDEA 6.0, as we've sub-modules that are trying to extend base test classes and utilities from their parent.

I'm also having problems with another project which I can't pin down, again having many inter-dependant modules and exports comes into play. Works in 6.0 (sigh!). Honestly I'm left wondering if export works at all in 7.0.. surely it must? Seems the main classes are picking up something used by the test classes only and they're incompatible. Shame we can't specify separate classpaths for tests and production (have to give Netbeans the nod for that one).

argh! growing pains,

- Richard

1 comment

Very confused by this. Went back into the project this afternoon and shifted the dependencies back to the parent module as exports. But this time it complied without any problems? This should be an identical configuration to the IDEA 6.0 project that refused to compile yesterday (problem 2). Is IDEA likely to be unpredictable on opening a 6.0 project under 7.0 for the first time? or is this overriding of classes based on ordering something inherently unwise and unpredictable?

Also anybody know how to get a glipse at the classpath the compiler is using, digging through the idea log I can get this:
C:\Java\jdk1.5.0_12\lib\tools.jar;C:\Java\IntelliJ IDEA 7.0\lib\idea_rt.jar com.intellij.rt.compiler.JavacRunner "java version "1.5.0_12"" -source 1.5 -verbose -bootclasspath @C:\Documents and Settings\ozzie\Local Settings\Temp\javac_bootcp21124.tmp -classpath @C:\Documents and Settings\ozzie\Local Settings\Temp\javac_cp21125.tmp -sourcepath "" -d C:\Work\Replay Branch\classes\production\ui-zen -g -deprecation @C:\Documents and Settings\ozzie\Local Settings\Temp\javac21126.tmp ]]>

..but the important detail of the modules, exports and ordering of jars & classes is missing..?

- Richard


Please sign in to leave a comment.