Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如果类和对象在同一个文件中,如何调用类构造函数_Scala_Maven_Companion Object - Fatal编程技术网

Scala 如果类和对象在同一个文件中,如何调用类构造函数

Scala 如果类和对象在同一个文件中,如何调用类构造函数,scala,maven,companion-object,Scala,Maven,Companion Object,在MyFactory.scala中,对象和类定义在同一个文件中,名称相同,如下所示 package com.mydomain.app.module object MyFactory{ val a1 = "a1" val b1 = "b1" } class MyFactory(config:Configuration){ //blah.... } 问题是我无法在另一个类中启动MyFactory对象 var myFactory = new Myfactory(defau

在MyFactory.scala中,对象和类定义在同一个文件中,名称相同,如下所示

package com.mydomain.app.module

object MyFactory{
    val a1 = "a1"
    val b1 = "b1"
}

class MyFactory(config:Configuration){
    //blah....
}
问题是我无法在另一个类中启动MyFactory对象

var myFactory = new Myfactory(defaultConfiguration)
由于错误

not found: type MyFactory
我所做的只是一个普通的进口货

import com.mydomain.app.module.MyFactory
如果我不能修改MyFactory.scala遗留代码中的任何内容,那么启动类对象的有效方法是什么

var myFactory = new MyFactory(defaultConfiguration)
是初始化类的对象的有效方法

导入com.mydomain.app.module.MyFactory应该足以将MyFactory及其同伴引入范围

有时,对象应用程序不是包com.mydomain的成员可能意味着您正在尝试重新编译MyFactory.scala,引用com.mydomain中未编译的内容


尝试mvn clean compile。

尝试导入com.mydomain.app.module。@jwvh谢谢,现在前面的错误已经消失,但现在它抱怨object app不是包com的成员。mydomain@Dreamer我的工厂真的是我的工厂吗?这不是一个成员错误do sbt clean compile。@Dmytro Mitin是的。Scala应用程序不是基于sbt构建的,只是一个maven项目。@Dreamer然后mvn clean compile