Опубликовать артефакт в локальном репозитории Maven с помощью SBT и использовать его в проекте Gradle - PullRequest
0 голосов
/ 18 января 2019

Вот что я хочу сделать:

  • В моем проекте Scala sbt я хочу опубликовать артефакт в моем локальном хранилище maven
  • Впоследствии я хочу использовать этот артефакт в Java-проекте на основе Gradle

Вот где я борюсь:

  • Я опубликовал артефакт, несколько успешный, используя sbt publishM2. Вот мой build.sbt:
organization := "com.example"
name := "my.messaging"
version := "0.1"
scalaVersion := "2.12.8"
publishMavenStyle := true

Здесь генерируется артефакт:

C:\Users\BAIERLF\.m2\repository\com\example\my-messaging_2.12\0.1

Файл POM выглядит следующим образом:

<?xml version='1.0' encoding='UTF-8'?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-messaging_2.12</artifactId>
    <packaging>jar</packaging>
    <description>my.messaging</description>
    <version>0.1</version>
    <name>my.messaging</name>
    <organization>
        <name>com.example</name>
    </organization>
    <dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.12.8</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>ArtimaMavenRepository</id>
            <name>Artima Maven Repository</name>
            <url>http://repo.artima.com/releases/</url>
            <layout>default</layout>
        </repository>
    </repositories>
</project>

Я не могу успешно использовать этот артефакт в своем проекте Gradle. Вот как я пытался связать это:

dependencies {
   compile group: 'com.example', name: 'my-messaging_2.12', version: '0.1'
}

Я чувствую, что делаю несколько вещей неправильно, но если бы кто-нибудь мог дать мне подсказку, это было бы замечательно.

Редактировать: Я попробовал еще раз с немного другим результатом, поэтому я обновил свой ответ.

1 Ответ

0 голосов
/ 18 января 2019

У меня недавно была похожая проблема, и я решил ее, добавив команду mavenLocal() в мой файл build.gradle. Я не знаю, есть ли у вас такая же проблема, но, возможно, стоит сделать сборку вашего gradle-проекта с полным отладочным выводом и подтвердить, что он пытается извлечь из локального репо.

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