Scala: импортировать класс из другого файла - PullRequest
0 голосов
/ 15 февраля 2019

В Scala я бы хотел отделить свой класс от основной функции и поместить его в отдельный файл.

Мой рабочий пример показан ниже.Когда я помещаю содержимое файла point.scala в xtest.scala.Я могу загрузить файл :load xtest.scala и выполнить код через Demo.main(Array("h")).Это работает просто отлично.

Однако, как только я отделяю класс от основной функции.Я следую процедуре компиляции с использованием Maven:

  1. mvn compile

  2. mvn package

Это дает мне jar-файл Test / target / Test-0.0.1.jar, в котором у меня есть Point.class.Как мне импортировать этот jar-файл в мою основную функцию?import Test.target.Point не похоже на работу.

point.scala:

class Point(val xc: String) {
   var x: String = xc;

   def plot(dx: String): String = {
      val output: String = x + " " + dx;
      return output;
   }
}

xtest.scala:

import Test.target.Test.Point

object Demo {
   def main(args: Array[String]) {
      val pt = new Point("Hello,");

      var greeting: String = pt.plot("Jack");
      println(greeting);
   }
}

1 Ответ

0 голосов
/ 15 февраля 2019

Убедитесь, что вы добавили package Test.target.Test ..

point.scala

package Test.target.Test

class Point(val xc: String) {
   var x: String = xc;

   def plot(dx: String): String = {
      val output: String = x + " " + dx;
      return output;
   }
}

xtest.scala

import Test.target.Test.Point

object Demo {
   def main(args: Array[String]) {
      val pt = new Point("Hello,");

      var greeting: String = pt.plot("Jack");
      println(greeting);
   }
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...