gpt4 book ai didi

java - 将 Java 未完成的项目添加到 SBT 依赖项

转载 作者:行者123 更新时间:2023-11-30 07:26:57 25 4
gpt4 key购买 nike

我是 SBT 的新手,我正在考虑将我的工作迁移到 IntellijIDEA。

我有一个使用 eclipse 创建的 Java 项目,现在我想将它与 scala 一起使用。

但是,那个Java项目是不断变化的,我不想每次都编译一个jar并放在lib文件夹中。

有没有简单的方法来添加这个依赖?

最佳答案

假设您有两个项目:

1) 在 /main-project 中,您有 build.sbt 包含行 name := "main-project-id"

2) 在 /other-project 中,您有 build.sbt 包含行 name := "other-project-id"

您可以通过添加文件 /main-project/project/Build.scala 来创建从 Main 项目到 Other 项目的依赖关系:

import sbt._
import Keys._

object MainProjectBuild extends Build {
lazy val main = Project(id = "main-project-id", base = file(".")) dependsOn(other)
lazy val other = Project(id = "other-project-id", base = file("other-project"))
}

然后在 /main-project 中添加一个指向 /other-project 的链接。像这样的东西:

cd /main-project
ln -s ../other-project other-project

因此您现在在名为 /main-project/other-project/ 的目录中有一个 other-project

完成此操作后,如果您运行 sbt compile/main-project 中的任何内容,它将按预期工作。

编辑

另一种可能更简单的方法是创建一个指向您的 java 源代码的链接,使它们看起来像是在同一源目录中。

所以如果你的 Scala 代码在 /main-project/src/main/scala/somepackage/... 而你的 java 代码在 /other-project/src/main/java/otherpackage/...,那么你可以这样做:

cd /main-project/src/main
ln -s /other-project/src/main/java java

然后目录 /main-project/src/main/java 将只指向依赖源,但 sbt 将一起构建它。

关于java - 将 Java 未完成的项目添加到 SBT 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10077841/

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