Мне нужно, чтобы Maven и SBT использовали локальный сервер Artifactory -, который является единственным компьютером, подключенным к Интернету. Серверы, машина CI -и т. д. не имеют доступа к внешнему миру.
Я получаю седые волосы особенно с SBT.
С 0.11.[0..3] я могу SBT получить доступ к Artifactory через:
С версиями 0.12 или 0.13 мне не везет. Я пробовал с инструкциями, найденными здесь:https://github.com/harrah/xsbt/pull/472. Поэтому я сделал следующее:
файл «репозиторий» включает:
[repositories]
local
ivy-proxy: http://devserver:8081/artifactory/repo/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]
maven-proxy: http://devserver:8081/artifactory/repo/
Я включил «-Dsbt.override.build.repos=true» в команду запуска SBT, которая теперь выглядит так:
java -Xms1536m -Xmx1536m -XX:MaxPermSize=384m -XX:ReservedCodeCacheSize=192m -Dsbt.override.build.repos=true -Dsbt.global.base=/Users/amjr/.sbt/0.13.0-SNAPSHOT -jar /Users/amjr/.bin/.lib/0.13.0-SNAPSHOT/sbt-launch.jar
Но 0.12 и 0.13 отказываются от доступа к Artifactory, но пытаются подключиться напрямую к typesafe, maven Central и т. д.
Теперь для серии 0.11 -SBT я могу подключить ее к Artifactory. Затем возникает проблема, заключающаяся в том, что SBT не может найти пакеты, необходимые для компиляции проекта. Вот пример:
==== local-artifactory-libs-snapshot: tried
http://devserver:8081/artifactory/libs-snapshot/org/scala-sbt/compiler-interface/0.11.3/compiler-interface-src-0.11.3.jar
==== local-artifactory-libs-releases: tried
http://devserver:8081/artifactory/libs-release/org/scala-sbt/compiler-interface/0.11.3/compiler-interface-src-0.11.3.jar
==== local-artifactory-plugins-releases: tried
http://devserver:8081/artifactory/plugins-release/org/scala-sbt/compiler-interface/0.11.3/compiler-interface-src-0.11.3.jar
Очевидно, это должно быть связано с конфигурацией Artifactory. Я был бы признателен, если бы у кого-то были какие-либо указания, как и какие репозитории я должен проксировать с помощью Artifactory, чтобы успешно использовать его с SBT.