I want to try kafka 0.8 (as I understand it is already released). But where can I find the kafka maven repository.
And what additional repository url should I add?
I've found some blogs with
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.8.0</artifactId>
<version>0.8.0-SHA</version>
</dependency>
but it is not works. I'm looking for proper maven dependency. Or should I checkout it from git and deploy in our internal artifactory?
UPDATE
Since November 2013 official Kafka releases can be found on public Maven repository, the latest version in March 2015 being 0.8.2.1
:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
<version>0.8.2.1</version>
</dependency>
If you created the not.released:kafka
artifact detailed below any more you can remove it from the local repository.
Original Answer
Kafka is not released yet to a public Maven repository, but you can add it to your local Maven repository by hand with the install-file command:
mvn install:install-file -Dpackaging=jar -DgroupId=not.released
-DartifactId=kafka -Dversion=0.8.0 -Dfile=kafka.jar
The command line above expects kafka.jar
file in the current working directory.
Once installed you can use it with:
<dependency>
<groupId>not.released</groupId>
<artifactId>kafka</artifactId>
<version>0.8.0</version>
</dependency>
Once they release Kafka you can just change the dependency in your POMs and remove / uninstall this file from your local repository.
As of December 2013, Kafka 0.8 Final was released and is available under the following definition:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
<version>0.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.9.2</artifactId>
<version>0.8.0-beta1</version>
</dependency>
Even though this is already answered, I think future readers might benefit from a complete simple example that works out of the box. I put one together here >
https://github.com/buildlackey/cep
Like the o.p., I have been fighting to find a Maven pom.xml recipe that will allow me to pull in an official version of Kafka from a public Maven repository. I did manage to get my example working, but for now I have had to hack
my dependencies so that the version of Kafka I use is pulled from a work-in-progress version of a
storm-kafka integration project. I'm concerned the 'wip' versions below will be deprecated.
Then this project will lose its dependencies and fail to build properly. Also, I
really shouldn't be introducing storm for this simple Kafka example at this point in any case.
storm
storm
0.9.0-wip17
storm
storm-core
0.9.0-wip17
storm
storm-kafka
0.9.0-wip16a-scala292
If someone could provide me with a patch for 'the right way' to do this with Maven I will update my project accordingly.... Hopefully it will serve as a useful resource for other beginning Kafka developers.
Just go to http://mvnrepository.com/artifact/org.apache.kafka and choose from the list kafka repository matching to your version.
You can find all the realease version here:
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.kafka%22
Here is another clue:
<dependency>
<groupId>com.sksamuel.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
<version>0.8.0-beta1</version>
</dependency>