Scala 如何更改凭据文件的路径(不带环境变量)

Scala 如何更改凭据文件的路径(不带环境变量),scala,sbt,Scala,Sbt,我当前设置了凭据文件的路径,如下所示: credentials += Credentials(Path.userHome / ".myfolder" / "my.credentials") 在我的本地计算机上,这是有效的,因为Path.userHome会导致~。但是,在Jenkins Path.userHome上,生成/root时,我无法在/root下创建.myfolder,因为我遇到了一个权限被拒绝的错误 我正在尝试将凭据文件的路径更改为/home/jenkins/.myfolder/my.

我当前设置了凭据文件的路径,如下所示:

credentials += Credentials(Path.userHome / ".myfolder" / "my.credentials")
在我的本地计算机上,这是有效的,因为Path.userHome会导致~。但是,在Jenkins Path.userHome上,生成/root时,我无法在/root下创建.myfolder,因为我遇到了一个权限被拒绝的错误

我正在尝试将凭据文件的路径更改为/home/jenkins/.myfolder/my.credentials。然而,当我

credentials += Credentials("/home/jenkins/.myfolder/my.credentials")
我得到一个运行时错误,因为凭证的apply方法接受java.io.File

问题:

如何将/home/jenkins/.myfolder/my.credentials传递给凭据?
如果它需要一个文件,那么看看如何创建一个

credentials += Credentials(new java.io.File("/home/jenkins/.myfolder/my.credentials"))

如果它需要一个文件,那么看看如何创建一个

credentials += Credentials(new java.io.File("/home/jenkins/.myfolder/my.credentials"))

要进一步扩展Brian McCutchon的答案:

根据SBT的来源,Path.userHome返回一个java.io.File,Path包含一个隐式方法implicit def richFilefile:File:RichFile=new richFilefile将文件转换为RichFile

并且,为RichFile类型重载斜杠运算符/以创建带有附加字符串路径的java.io.File对象


因此,如果我们想要传递一个独立的字符串,而不使用RichFile或File作为凭据构造函数的路径,该构造函数需要一个java.io.File实例作为参数,那么我们需要使用字符串路径创建一个java.io.File对象,比如Filepath/to/File

,以进一步扩展Brian McCutchon的答案:

根据SBT的来源,Path.userHome返回一个java.io.File,Path包含一个隐式方法implicit def richFilefile:File:RichFile=new richFilefile将文件转换为RichFile

并且,为RichFile类型重载斜杠运算符/以创建带有附加字符串路径的java.io.File对象


因此,如果我们想传递一个独立的字符串,而不使用RichFile或File作为凭据构造函数的路径,该构造函数需要一个java.io.File实例作为参数,那么我们需要使用字符串路径专门创建一个java.io.File对象,比如,Filepath/to/File

,在同一个源文件中是def applyf:string,对我来说,看起来像是最简单的解决方案:同一源文件中的CredentialsPath/path/to/file是def applyf:String,在我看来,它像是最简单的解决方案:CredentialsPath/path/to/file