我有一些几乎在我项目中的每个文件中使用的类和函数,
这样每个文件都以import com.organization.myapp.MyObject._
是否可以在整个项目中自动进行此导入?
(类似Predef
,但仅限于我的项目)
我尝试使用package object
但是从我收集的内容来看,它只适用于它定义的级别,即:
如果我得到了包裹:
- com.organization.myapp.package1
- com.organization.myapp.package2
- com.organization.myapp.package3
定义
package com.organization
package object myapp {...}
不会在package1
,package2
和package3
答案 0 :(得分:3)
如果你有一个com.organization.myapp
包对象,即:
// This file is in the com/organization/myapp folder
package com.organization
package object myapp {
// Definitions such as
val MyConstant = "foo"
}
定义将在com.organization.myapp
包中的文件范围内。
如果您希望这些定义也在com.organization.myapp.package1
包中的文件的范围内,您只需稍微改变您声明该文件包的方式:
// This file is in the com/organization/myapp/package1 folder
package com.organization.myapp
package package1
class MyClass {
val foo = MyConstant // in scope
}
答案 1 :(得分:1)
不,那是不可能的。没有办法做到这一点。
答案 2 :(得分:1)
Scala不支持。
如果你真的想要它,你可以'破解'如果你的IDE支持创建模板,那么你可以定义一个包含你需要的导入的新文件模板。