저는 SBT에서 새롭고 내 작업을 IntellijIDEA로 마이그레이션하려고합니다.SBT 종속성에 Java 미완료 프로젝트 추가
Eclipse를 사용하여 만든 자바 프로젝트가 있으며 이제는 scala와 함께 사용하려고합니다.
그러나 Java 프로젝트는 끊임없이 변화하고 jar를 컴파일하고 lib 폴더에 넣고 싶지 않습니다.
이 종속성을 추가하는 간단한 방법이 있습니까?
저는 SBT에서 새롭고 내 작업을 IntellijIDEA로 마이그레이션하려고합니다.SBT 종속성에 Java 미완료 프로젝트 추가
Eclipse를 사용하여 만든 자바 프로젝트가 있으며 이제는 scala와 함께 사용하려고합니다.
그러나 Java 프로젝트는 끊임없이 변화하고 jar를 컴파일하고 lib 폴더에 넣고 싶지 않습니다.
이 종속성을 추가하는 간단한 방법이 있습니까?
하는의 당신이 두 개의 프로젝트가 있다고 가정하자
1) /main-project
에서를, 당신이 /other-project
에서 라인 name := "main-project-id"
2)를 포함 build.sbt
을 가지고, 당신은 build.sbt
라인 name := "other-project-id"
을 포함을 만들 수 있습니다 파일을 추가하여 Main 프로젝트에서 Other 프로젝트로의 종속성 /main-project/project/Build.scala
:
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"))
}
/other-project
에 대한 링크를 /main-project
안에 추가하십시오. 뭔가 같은 : 당신은 지금라는 디렉토리에 other-project
이 너무
cd /main-project
ln -s ../other-project other-project
: /main-project/other-project/
.
sbt compile
또는 /main-project
을 실행하면 예상대로 작동합니다.
편집
다른, 아마도 간단한 방법은 단지 그들이 동일한 소스 디렉토리에있는 것처럼 보이게하여 자바 소스에 링크를 생성하는 것입니다. 당신의 스칼라 코드가 /main-project/src/main/scala/somepackage/...
에 당신의 자바 코드가 /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는 그것을 만들 것이다 모두 함께.
흠 ... 다른 build.sbt를 만들거나 디렉토리 작동을 지적하는 것이 정말로 필요합니까? 또한 폴더를'main-project /'폴더로 옮길 필요가 있습니까? –
@Tiago, 아마도 더 간단한 아이디어로 편집 됨 – dhg
내가 일하고 싶을 때마다 전화해야만합니까? 단순 해 보이지 않습니다. 그리고 나는 여전히 프로젝트 위치를 옮겨야한다는 문제가있다. 그러나 분명히 나는 복잡하게하고 싶지 않다. 나는 Intellij로 이사하려고 보자. 두 옵션 모두에 대해 감사드립니다. –