2010-11-17 15 views
2

SBT projemin sınıf yoluna eklemek istediğim sisteme yüklü bazı kavanozlar var. UnmanagedClasspath'a eklenmek bir yol gibi görünebilir, ancak içinde herhangi bir değerle baltalar - neden olmasın. Başarıyla sınıf için benim proje kapsamında "lib" dizini ekler aşağıdaki adres ŞuSBT Projesinde Keyfi Sınıf Yolu Girişleri İçerir

:

import sbt._ 

class OvationImporterProject(info: ProjectInfo) extends DefaultProject(info) 
{ 
    override def unmanagedClasspath: PathFinder = 
    { 
    super.unmanagedClasspath +++ "lib" 
    } 
} 

ben şu olsun orada mutlak bir yol eklemeye çalışırsanız:

 

java.lang.IllegalArgumentException: requirement failed: Path component '/opt/jauimodel/lib/' must not have forward slashes in it 
    at scala.Predef$.require(Predef.scala:112) 
    at sbt.Path$.checkComponent(Path.scala:176) 
    at sbt.RelativePath.(Path.scala:113) 
    at sbt.Path.$div(Path.scala:34) 
    at sbt.Project$class.path(Project.scala:143) 
    at sbt.BasicScalaProject.path(DefaultProject.scala:21) 
    at OvationImporterProject.unmanagedClasspath(OvationImporter.scala:7) 
.... 

Bunu yapmak için uygun bir yol var mı?

Teşekkürler!

cevap

3

super.unmanagedClasspath +++ Path.fromFile ("/ opt/jauimodel/lib /") deneyin

sadece "lib" olup olmadığını kontrol etmek için checkComponent metodu çalışır relativePath tetikleyebilir.,

+0

Teşekkürler, bu hile yaptı. =) – spieden