【问题标题】:How do I attach scala sources to my maven jar?如何将 scala 源附加到我的 maven jar?
【发布时间】:2023-03-19 07:50:02
【问题描述】:

我有一个混合了 java 和 scala 代码的项目,它使用 maven 进行依赖和构建管理。我使用maven-source-plugin 构建了一个上传到我的maven 镜像的sources-jar,它适用于java 源(在src/main/java),但不适用于scala 来源(在src/main/scala)。

我在scala-maven-plugin webpage 上没有找到任何帮助,但我可能错过了一些东西。不能在jar中附加scala源吗?

我应该注意到类文件都在那里,所以取决于库是否可以正常工作,只是缺少 scala 源代码。

【问题讨论】:

    标签: scala maven


    【解决方案1】:

    我遇到了类似的问题;我已经添加了 maven-source-plugin 很好,但是看到了

    [INFO] --- maven-source-plugin:3.0.0:jar (attach-sources) @ foo-bar ---
    [INFO] No sources in project. Archive not created.
    

    当我编译我的 Scala 项目时。

    为了解决这个问题,我将add-source 目标添加到我的scala-maven-plugin 配置中,例如:

    <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <version>3.2.0</version>
        <executions>
            <execution>
                <id>scala-compile-first</id>
                <phase>process-resources</phase>
                <goals>
                    <goal>compile</goal>
                    <goal>add-source</goal>
                </goals>
            </execution>
            ...
        </executions>
        ...
    </plugin>
    

    这会将您的 Scala 源代码添加到 pom 中,这反过来又允许 maven-source-plugin 找到源文件并将它们放入源 jar 中。

    另见http://davidb.github.io/scala-maven-plugin/add-source-mojo.html

    【讨论】:

    • 这是完美的解决方案!万分感谢! (抱歉回复晚了,直到现在我才有时间测试这个)
    • 我发现我需要删除&lt;goal&gt;compile&lt;/goal&gt;(无论如何我正在另一个执行中编译)并且我不需要&lt;phase&gt;process-resources&lt;/phase&gt;。值得再次强调的是,maven-source-plugin 仍然需要存在。
    猜你喜欢
    • 2014-02-07
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多