第一步:idea当中创建创建普通maven工程
File ==> New ==> Project
第二步:修改pom.xml添加scala的版本以及打包插件
<dependencies> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.11.8</version> <!-- 如果想要用java -jar 来运行我们打包之后的jar包,则下面这个配置必须注释掉 --> <!-- <scope>provided</scope>--> </dependency> </dependencies>
<build> <plugins> <!-- 限制jdk版本插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 编译scala需要用到的插件 --> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>3.2.2</version> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> <!-- 项目打包用到的插件 --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>cn.itcast.scala.demo1.ScalaFirst</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> |
第三步:创建scala代码保存的文件夹
src ==> main ==> new ==> Directory ==> scala
第四步:开发scala的代码并打包运行
开发代码如下:
package com.starzy.scala.grammar
object HelloWorld {
def main(args: Array[String]): Unit = { println("Hello world!") }
} |
第五步:打包我们的scala代码并准备运行
将我们的代码打包,之后,进行运行,双击package之后,就会出现我们打好的jar包,然后选择下面这个就可以运行了
运行我们的代码一共可以有四个命令,两种是打包的时候选择了我们的main程序类的,两种是我们打包时候没有选择main程序类的
其中第一种和第三种,都是选定了我们的main程序类
第二种和第四种都是没有选定我们的main程序类
四种运行方式都可以用于运行我们的jar包
第一种运行方式:我们打包的时候指定了对应的main方法所在的程序类
scala scaladay01-1.0-SNAPSHOT-jar-with-dependencies.jar
第二种运行方式:不管打包的时候有没有指定main方法所在的程序类,都可以运行
scala -cp scaladay01-1.0-SNAPSHOT-jar-with-dependencies.jar cn.itcast.scala.demo1.ScalaFirst
第三种方式:我们打包的时候指定了对应的main方法所在的程序类
java -jar scaladay01-1.0-SNAPSHOT-jar-with-dependencies.jar
第四种方式:不管打包的时候有没有指定main方法所在的程序类,都可以运行
java -cp scaladay01-1.0-SNAPSHOT-jar-with-dependencies.jar cn.itcast.scala.demo1.ScalaFirst
我们可以看到我们的scala代码最终也编译成了class文件