kafka-rest:怎么愉快的build?
愉快的build该项目吧
git clone https://github.com/confluentinc/kafka-rest
mvn clean install -Dmaven.test.skip=true
出先如下类似错误:
[ERROR] Failed to execute goal on project kafka-rest: Could not resolve dependencies for project io.confluent:kafka-rest:jar:3.1.0-SNAPSHOT: The following artifacts could not be resolved: io.confluent:rest-utils:jar:3.1.0-SNAPSHOT, org.apache.kafka:kafka_2.11:jar:0.10.1.0-SNAPSHOT, io.confluent:kafka-avro-serializer:jar:3.1.0-SNAPSHOT, io.confluent:kafka-json-serializer:jar:3.1.0-SNAPSHOT, io.confluent:rest-utils-test:jar:3.1.0-SNAPSHOT, org.apache.kafka:kafka_2.11:jar:test:0.10.1.0-SNAPSHOT, org.apache.kafka:kafka-clients:jar:test:0.10.1.0-SNAPSHOT, io.confluent:kafka-schema-registry:jar:3.1.0-SNAPSHOT: Could not find artifact io.confluent:rest-utils:jar:3.1.0-SNAPSHOT in confluent (http://packages.confluent.io/maven/) -> [Help 1]
翻了一下该项目wiki:
https://github.com/confluentinc/kafka-rest/wiki/FAQ 描述如下:
When I try to compile I get an error about a missing SNAPSHOT dependency.
The error looks something like this:
[ERROR] Failed to execute goal on project kafka-rest: Could not resolve dependencies for project io.confluent:kafka-rest:jar:3.1.0-SNAPSHOT: The following artifacts could not be resolved: io.confluent:rest-utils:jar:3.1.0-SNAPSHOT, org.apache.kafka:kafka_2.11:jar:0.10.1.0-SNAPSHOT, io.confluent:kafka-avro-serializer:jar:3.1.0-SNAPSHOT, io.confluent:kafka-json-serializer:jar:3.1.0-SNAPSHOT, io.confluent:rest-utils-test:jar:3.1.0-SNAPSHOT, org.apache.kafka:kafka_2.11:jar:test:0.10.1.0-SNAPSHOT, org.apache.kafka:kafka-clients:jar:test:0.10.1.0-SNAPSHOT, io.confluent:kafka-schema-registry:jar:3.1.0-SNAPSHOT: Could not find artifact io.confluent:rest-utils:jar:3.1.0-SNAPSHOT in confluent (http://packages.confluent.io/maven/) -> [Help 1]
During development of new versions of the REST Proxy we sometimes use a SNAPSHOT versions of dependencies in order to build and test against new features. If you want to build a development version, you may need to build and install these dependencies to your local Maven repository in order to build the connector:
- Kafka - clone https://github.com/apache/kafka/ and build with
./gradlew installAll
- rest-utils - clone https://github.com/confluentinc/rest-utils and build with
mvn clean install
- schema-registry - clone https://github.com/confluentinc/schema-registry and build with
mvn clean install
按照上述说法,一通搞,还是不行
翻了一下该项目Issues 描述如下:
https://github.com/confluentinc/common/issues/98
@ewencp thanks for the summary, that finally also worked for me. I used the following steps (a bit in more detail) to build it.
Actually our company network (proxy and maven repo) was a problem since could either resolve dependencies or run the integration tests. Therefore, I had to skip the tests. git clone --branch 1.1.0 https://github.com/apache/kafka.git gradle wrapper ./gradlew installAll git clone https://github.com/confluentinc/common.git git checkout origin/4.1.x mvn clean install -Dmaven.test.skip=true git clone https://github.com/confluentinc/rest-utils.git git checkout origin/4.1.x mvn clean install -Dmaven.test.skip=true git clone https://github.com/confluentinc/schema-registry.git git checkout origin/4.1.x mvn clean install -Dmaven.test.skip=true git clone https://github.com/confluentinc/kafka-rest.git git checkout origin/4.1.x mvn clean install -Dmaven.test.skip=true
按照上述顺序,终于愉快的build了。。。
当然,如果没打算基于源码最改动,可以按照该项目Readme建议的,直接使用prebuilt版本
Installation
You can download prebuilt versions of the Kafka REST Proxy as part of the Confluent Platform.
You can read our full installation instructions and the complete documentation
To install from source, follow the instructions in the Development section below.