gpt4 book ai didi

maven - 将 SBT 项目发布到本地目录

转载 作者:行者123 更新时间:2023-12-04 01:35:22 28 4
gpt4 key购买 nike

我正在尝试在我的个人网络服务器上发布我的一些 SBT 项目。据我所知,您通常将 SBT 项目导出为包含项目定义的 POM.xml 的 Maven 目录。

Brian Clapper pointed out ,您可以通过创建多个配置文件并使用 sbt publish 来发布这样的 Maven 存储库。 .在他的教程中,存储库是通过 FTP 传输的。

我想手动将我的 Maven 存储库推送到服务器,以便我有更多的控制权。你能给我一些提示,如何做到这一点?

最佳答案

我想出了如何做到这一点。此解决方案创建了一个与 Maven 兼容的本地 Ivy 存储库。

您必须在 build.sbt 中设置以下值:

name := "project-name"

organization := "org.example"

version := "0.0.0"

scalaVersion := "2.9.2"

publishTo := Some(Resolver.file("file", new File("/path/to/your/releases"))

之后,您可以发布您的版本
sbt publish

这将打印如下几行
[info] Set current project to project-name (in build file:/path/to/your/project/)
[info] Updating {file:/path/to/your/project/}default-2e51ea...
[info] Packaging /path/to/your/project/target/scala-2.9.2/project-name_2.9.2-0.0.0-S
NAPSHOT-sources.jar ...
[info] Resolving org.scala-lang#scala-library;2.9.2 ...
[info] Done packaging.
[info] Done updating.
[info] :: delivering :: org.example#project-name_2.9.2;0.0.0 :: 0.0.0 :: release :: Tue Jul 24 15:41:04 CEST 2012
[info] delivering ivy file to /path/to/your/project/target/scala-2.9.2/ivy-0.0.0.xml
[info] Wrote /path/to/your/project/target/scala-2.9.2/project-name_2.9.2-0.0.0.pom
[info] Packaging /path/to/your/project/target/scala-2.9.2/project-name_2.9.2-0.0.0.jar ...
[info] Done packaging.
[info] published project-name_2.9.2 to /path/to/your/releases/org/example/project-name_2.9.2/0.0.0-SNAPSHOT/project-name_2.9.2-0.0.0.pom
[info] published project-name_2.9.2 to /path/to/your/releases/org/example/project-name_2.9.2/0.0.0-SNAPSHOT/project-name_2.9.2-0.0.0.jar
[info] published project-name_2.9.2 to /path/to/your/releases/org/example/project-name_2.9.2/0.0.0-SNAPSHOT/project-name_2.9.2-0.0.0-sources.jar
[info] published project-name_2.9.2 to /path/to/your/releases/org/example/project-name_2.9.2/0.0.0-SNAPSHOT/project-name_2.9.2-0.0.0-javadoc.jar
[success] Total time: 1 s, completed 24.07.2012 15:41:05

您可以将生成的文件放在任何 Web 服务器上(例如 http://repo.example.org/ ),并通过将以下行添加到您的 build.sbt 来在另一个项目的构建脚本中使用它:
resolvers += "Personal repository" at "http://repo.example.org/"

libraryDependencies += "org.example" % "project-name" % "0.0.0"

如需更多信息,请参阅 SBT: Getting Started Library DependenciesSBT: Publishing .

关于maven - 将 SBT 项目发布到本地目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11348670/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com