Я со стороны javascript и сейчас изучаю экосистему scala и java. В javascript это было просто, как npm install/yarn add, но здесь, в экосистеме java, мне это кажется немного сложным.
Я начал scala с 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), версии с репозиториями «Central» работают (например, версия 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>
Для градиентного проекта. Это работает только тогда, когда я помещаю jcenter() в раздел репозиториев
repositories {
jcenter()
}
compile 'com.apollographql.apollo:apollo-runtime:0.4.3'
Для проекта СБТ. Это то же самое, что мавен. 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 64 бит, 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 пытается найти библиотеки в каком-то репозитории по умолчанию (я не уверен, в каком). Если он не может найти, это ошибка не найдена. поэтому я должен вручную установить репозитории. вероятно, каждая система сборки имеет это.