Java-зависимость (Maven, Gradle) и Scala(SBT)

Я со стороны javscript и сейчас изучаю scala и java экосистему. В javascript это было просто, как npm install/yarn add, но здесь, в java, экосистема кажется мне немного сложной.

Я начал скала с Apache Kafka. а затем немного изучил фреймворк scala, такой как Play, akka, Sangria(graphql). фреймворки Scala отлично работают с sbt. Проблема возникает, так как мне нужно использовать библиотеки Java в моем проекте sbt scala. или вообще я не понимаю, как работает система сборки Java. Например, если я хочу добавить Apache kafka в любую систему.(Maven, gradle, sbt)

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>1.0.0</version>
</dependency>

compile group: 'org.apache.kafka', name: 'kafka-clients', version: '1.0.0'

libraryDependencies += "org.apache.kafka" % "kafka-clients" % "1.0.0"

Я проверил Maven и SBT, и это сработало. вероятно, gradle тоже.

Этот не работает. https://github.com/apollographql/apollo-android

Для проекта maven ( http://mvnrepository.com/artifact/com.apollographql.apollo/apollo-runtime) работают версии с "центральными" репозиториями (например, версия 0.4.1), однако версии с репозиториями "ApolloGraphQl" не работают работа (например, версия 0.4.3)

<dependency>
     <groupId>com.apollographql.apollo</groupId>
     <artifactId>apollo-runtime</artifactId>
     <version>0.4.3</version> -->!!ERROR HERE!! Dependency "com.apollographql.apollo:apollo-runtime:0.4.3" not found
     <type>pom</type>
</dependency>

Для gradle проекта. Работает только когда я ставлю jcenter() в раздел репозиториев

repositories { 
    jcenter()
  }
compile 'com.apollographql.apollo:apollo-runtime:0.4.3'

Для проекта Sbt. Это так же, как Maven. 0.4.1 работает (центральное репо) и 0.4.3 не работает (ApolloGraphQl репо)

Еще один, https://github.com/sacOO7/socketcluster-client-java Этот gradle работает, но maven и sbt не работают для всех версий. Я не смог найти этот пакет в Maven, но здесь на https://bintray.com/sacoo7/Maven/socketcluster-client

Для меня это довольно большая проблема... Я не знаю, есть ли один-единственный источник и много способов его построить (например, npm или пряжа?) Или... я не знаю.. sbt выглядит как некоторые проблемы с "неразрешенной зависимостью... не найдены", кроме sbt. Я не мог свободно использовать библиотеки Java в проектах Java (Maven, Gradle или что-то еще). Вероятно, я тот, кто не понимает экосистему Java. Может кто-нибудь помочь с этой проблемой. У меня windows 10 64bit, IntelliJ IDEA 2017.2.5. Я сделал проект scala с scala 2.12.4, sbt 1.0.3 и maven modelVersion 4.0.0 и gradle sourceCompatibility 1.8

Решено ок... разобрался. на свой build.sbt поставь этот.

resolvers += Resolver.jcenterRepo

Я не очень ясно, но я думаю... sbt пытается найти библиотеки в некотором репозитории по умолчанию (я не уверен, какой именно) Если он не может определить, что это не найденная ошибка. поэтому я должен вручную установить репозитории. вероятно, каждая система сборки имеет это.

0 ответов

Другие вопросы по тегам