scala:run

Full name:

org.scala-tools:maven-scala-plugin:2.14.2-SNAPSHOT:run

Description:

Run a Scala class using the Scala runtime

Attributes:

  • Requires a Maven 2.0 project to be executed.
  • Requires dependency resolution of artifacts in scope: test.
  • Invokes the execution of the lifecycle phase test-compile prior to executing itself.

Required Parameters

Name Type Since Description
displayCmd boolean - Display the command line called ? (property 'maven.scala.displayCmd' replaced by 'displayCmd')
Default value is: false.
scalaClassName String - className (FQN) of the scala tool to provide as
Default value is: scala.tools.nsc.Main.

Optional Parameters

Name Type Since Description
addArgs String - Additional parameter to use to call the main class Using this parameter only from command line ("-DaddArgs=arg1|arg2|arg3|..."), not from pom.xml.
args String[] - compiler additionnals arguments
checkMultipleScalaVersions boolean - Check if every dependencies use the same version of scala-library.
Default value is: true.
compilerPlugins BasicArtifact[] - Compiler plugin dependencies to use when compiling. ex:
dependencies BasicArtifact[] - Additional dependencies/jar to add to classpath to run "scalaClassName" (scope and optional field not supported) ex :
   <dependencies>
     <dependency>
       <groupId>org.scala-tools</groupId>
       <artifactId>scala-compiler-addon</artifactId>
       <version>1.0-SNAPSHOT</version>
     </dependency>
   </dependencies>

failOnMultipleScalaVersions boolean - Determines if a detection of multiple scala versions in the dependencies will cause the build to fail.
Default value is: false.
forceUseArgFile boolean - Force the use of an external ArgFile to run any forked process.
Default value is: false.
fork boolean - Forks the execution of scalac into a separate process.
Default value is: true.
jvmArgs String[] - Jvm Arguments.
launcher String - The class to use when launching a scala program
launchers Launcher[] - A list of launcher definition (to avoid rewriting long command line or share way to call an application) launchers could be define by :
  <launchers>
    <launcher>
      <id>myLauncher</id>
      <mainClass>my.project.Main</mainClass>
      <args>
        <arg>arg1</arg>
      </args>
      <jvmArgs>
        <jvmArg>-Xmx64m</jvmArg>
      </jvmArgs>
    </launcher>
    <launcher>
      <id>myLauncher2</id>
      ...
      <><>
    </launcher>
  </launchers>

mainClass String - Main class to call, the call use the jvmArgs and args define in the pom.xml, and the addArgs define in the command line if define. Higher priority to launcher parameter) Using this parameter only from command line (-DmainClass=...), not from pom.xml.
scalaVersion String - Scala 's version to use. (property 'maven.scala.version' replaced by 'scala.version')

Parameter Details

addArgs:

Additional parameter to use to call the main class Using this parameter only from command line ("-DaddArgs=arg1|arg2|arg3|..."), not from pom.xml.
  • Type: java.lang.String
  • Required: No
  • Expression: ${addArgs}

args:

compiler additionnals arguments
  • Type: java.lang.String[]
  • Required: No

checkMultipleScalaVersions:

Check if every dependencies use the same version of scala-library.
  • Type: boolean
  • Required: No
  • Expression: ${maven.scala.checkConsistency}
  • Default: true

compilerPlugins:

Compiler plugin dependencies to use when compiling. ex:
  • Type: org_scala_tools_maven.BasicArtifact[]
  • Required: No

dependencies:

Additional dependencies/jar to add to classpath to run "scalaClassName" (scope and optional field not supported) ex :
   <dependencies>
     <dependency>
       <groupId>org.scala-tools</groupId>
       <artifactId>scala-compiler-addon</artifactId>
       <version>1.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
  • Type: org_scala_tools_maven.BasicArtifact[]
  • Required: No

displayCmd:

Display the command line called ? (property 'maven.scala.displayCmd' replaced by 'displayCmd')
  • Type: boolean
  • Required: Yes
  • Expression: ${displayCmd}
  • Default: false

failOnMultipleScalaVersions:

Determines if a detection of multiple scala versions in the dependencies will cause the build to fail.
  • Type: boolean
  • Required: No
  • Default: false

forceUseArgFile:

Force the use of an external ArgFile to run any forked process.
  • Type: boolean
  • Required: No
  • Default: false

fork:

Forks the execution of scalac into a separate process.
  • Type: boolean
  • Required: No
  • Default: true

jvmArgs:

Jvm Arguments.
  • Type: java.lang.String[]
  • Required: No

launcher:

The class to use when launching a scala program
  • Type: java.lang.String
  • Required: No
  • Expression: ${launcher}

launchers:

A list of launcher definition (to avoid rewriting long command line or share way to call an application) launchers could be define by :
  <launchers>
    <launcher>
      <id>myLauncher</id>
      <mainClass>my.project.Main</mainClass>
      <args>
        <arg>arg1</arg>
      </args>
      <jvmArgs>
        <jvmArg>-Xmx64m</jvmArg>
      </jvmArgs>
    </launcher>
    <launcher>
      <id>myLauncher2</id>
      ...
      <><>
    </launcher>
  </launchers>
  • Type: org_scala_tools_maven.Launcher[]
  • Required: No

mainClass:

Main class to call, the call use the jvmArgs and args define in the pom.xml, and the addArgs define in the command line if define. Higher priority to launcher parameter) Using this parameter only from command line (-DmainClass=...), not from pom.xml.
  • Type: java.lang.String
  • Required: No
  • Expression: ${mainClass}

scalaClassName:

className (FQN) of the scala tool to provide as
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${maven.scala.className}
  • Default: scala.tools.nsc.Main

scalaVersion:

Scala 's version to use. (property 'maven.scala.version' replaced by 'scala.version')
  • Type: java.lang.String
  • Required: No
  • Expression: ${scala.version}