Gradle mavenLocal находит банку, но не включает для компиляции - PullRequest
0 голосов
/ 12 декабря 2018

in build.gradle У меня есть:

repositories {
  mavenLocal()
  mavenCentral()
}

dependencies {
  compile 'com.test:test:1.2.1'
}

gradlew build находит банку, но я не могу использовать ни один из классов в банке, так как я просто получаю:

error: cannot find symbol
symbol: class MatrixMessageHandler

Есть ли еще один шаг, необходимый для того, чтобы использовать флягу в проекте?

edit: Я подозреваю, что это глупость.У jar есть зависимость от activemq-broker-5.8.0, но gradle игнорирует его и использует 5.15.8, которого нет в локальном репозитории maven.Я подозреваю, что именно это и является причиной проблемы:

11:12:41.670 [DEBUG] [io.spring.gradle.dependencymanagement.internal.VersionConfiguringAction] Using version '5.15.8' for dependency 'org.apache.activemq:activemq-broker:5.8.0'

по какой-то причине gradle создает случайную версию, чтобы заменить ее в локальном репозитории maven (5.8.0)

1 Ответ

0 голосов
/ 12 декабря 2018

По какой-то причине gradle заменял действительную версию зависимости на предыдущую версию:

11:12:41.670 [DEBUG] [io.spring.gradle.dependencymanagement.internal.VersionConfiguringAction] Using version '5.15.8' for dependency 'org.apache.activemq:activemq-broker:5.8.0'

5.15.8 раньше был в pom в локальном репозитории Maven, но я удалил эту версиюбанка и удалил кэши gradle, но я не смог заставить gradle забыть его.

rm -r ~/.gradle/caches/*

этой предыдущей зависимости не существует в локальном репозитории maven:

org.apache.activemq:activemq-broker:5.15.8

theв локальном репозитории Maven существует актуальная зависимость:

org.apache.activemq:activemq-broker:5.8.0

Решением было принудительное использование gradle для использования актуальной зависимости:

compile 'org.apache.activemq:activemq-broker:5.8.0'

, которая не подходит, еслиВы не знаете, каковы зависимости.В этом случае я делаю, как я разработал проект.Очистка глобального кэша ничего не сделала, поэтому я удалил каталог build, удалил указанную выше строку из build.gradle и теперь он работает.

Таким образом, реальная проблема заключается в том, что gradle не разрешал зависимости в mavenLocal() из-за устаревшего кэша / сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...