I dug into this and found a problem. The kafka build files show dependencies on two different versions of the zkclient code:
In core/build.sbt: libraryDependencies ++= Seq( "org.apache.zookeeper" % "zookeeper" % "3.3.4", "com.github.sgroschupf" % "zkclient" % "0.1", "org.xerial.snappy" % "snappy-java" % "1.0.4.1", "org.easymock" % "easymock" % "3.0" % "test", "junit" % "junit" % "4.1" % "test" ) And in project/Build.scala: // POM Tweaking for core: def zkClientDep = <dependency> <groupId>zkclient</groupId> <artifactId>zkclient</artifactId> <version>20120522</version> <scope>compile</scope> </dependency> In version 0.1 of com.github.sgroschupf.ZkClient (listed in build.sbt) writeData doesn't return anything (http://j.mp/XBnn5g), which causes the compile error from my initial message (see below); that changed in 0.2 (http://j.mp/WqUx4x). zkclient-20120522 (listed in Build.scala) is checked in as a JAR in the core/lib folder (http://j.mp/10U4XgE). I haven't researched why between sbt and IntelliJ ZkClient resolves differently, and don't know the history behind the "POM tweaking" comment above. I was able to build Kafka in IntelliJ by removing the reference to com.github.sgroschupf.ZkClient. Perhaps this is a leftover from 0.7.2 (I if I recall correctly it depends on 0.1)? At any rate if anybody runs into similar problems when building in InteliJ I hope that this fix addresses them. Comments welcome. Thanks, -Dragos On 3/14/13 11:30 AM, "Dragos Manolescu" <dragos.manole...@servicenow.com> wrote: >Hi Neha -- > >Thanks for the prompt answer. Yes that's what I did to open the project in >IntelliJ. > >-Dragos > >On 3/14/13 11:22 AM, "Neha Narkhede" <neha.narkh...@gmail.com> wrote: > >>You can do ./sbt gen-idea to build the Intellij project .iml files. >> >>Thanks, >>Neha >> >> >>On Thu, Mar 14, 2013 at 11:20 AM, Dragos Manolescu < >>dragos.manole...@servicenow.com> wrote: >> >>> Hi -- >>> >>> For the last couple of days I've been going through the 0.8 code as I'm >>> porting some 0.7.2 producers and consumers to the 0.8 API. While sbt >>> compiles the sources and indicates that 196 tests pass (I use Scala >>>2.9.2), >>> I haven't been able to successfully build Kafka in IntelliJ (after >>> generating the IDEA project with gen-idea). The errors are in ZkUtils; >>> here's the first one, with subsequent errors caused by the absence of >>>the >>> returned value (of type org.apache.zookeeper.data.Stat). >>> >>> scala: type mismatch; >>> found : Unit >>> required: org.apache.zookeeper.data.Stat >>> stat = client.writeData(path, data) >>> ^ >>> As far as I can tell writeData is provided by >>> org.I0Itec.zkclient.ZkClient, and its return type is void rather than >>>Stat; >>> here's the signature: >>> >>> public void writeData(String path, Object object) { >>> writeData(path, object, -1); >>> } >>> >>> I thought that this might be dead code; however IntelliJ shows ZkUtils >>> being used in the kafka, other and unit modules :-/ >>> >>> How do you marry IntelliJ with Kafka? >>> >>> Thanks, >>> >>> -Dragos >>> >