내가 일하고있는 프로젝트는 Lift 프레임 워크의 웹 응용 프로그램입니다. 우리는 xsbt web plugin도 사용하고 있습니다. 대다수의 기능을 포함하는 "핵심"프로젝트가 있습니다. 나의 현재 목표는 "핵심"프로젝트에 다른 클래스 경로 리소스 세트를 추가하는 두 개의 "배포"프로젝트를 만드는 것입니다. 문제는 1) "배포"프로젝트를 실행할 수 없거나 2) 실행하도록 설정했지만 필요한 리소스가없는 것처럼 보입니다.SBT 프로젝트에서 리소스를 공유하는 방법
이lazy val core = Project("Core", file("core"))
.settings(/*some dependencies, resolvers, webSettings */)
lazy val app1 = Project("App1", file("app1"))
.aggregate(core)
.settings(/*the same settings as core */)
lazy val app2 = Project("App2", file("app2"))
.aggregate(core)
.settings(/*the same settings as core*/)
그런 다음 app1
및 app2
모두의 디렉토리 구조에서, 나는 src/main/resources/aFileINeed
에 파일이 : 나는
을 시도했습니다 무엇
은 여기 내 project/Build.scala
의 축소 된 버전입니다. 핵심 응용 프로그램은 class.getResource
접근 방식을 사용하여 클래스 경로에서 파일을로드합니다.
이 문제
내가 container:start
를 사용하여 배포 프로젝트 중 하나를 실행하려고하면, 그것은 클래스 경로에서 필요한 파일을 검색하지 않습니다. 또한 src/main/webapp
은 기존 디렉토리가 아니며 xsbt 웹 플러그인에서 필요하므로 코어 프로젝트에 해당 폴더가 포함되어 있다고 주장합니다.
이 프로젝트에서 리소스를 "병합"하도록하려면 어떻게해야합니까?Build.scala
프로젝트 정의에서 aggregate
또는 dependsOn
을 사용하면 프로젝트를 처리 할 수있을 것이라고 예상했지만 분명히 그렇지 않습니다.