zoukankan      html  css  js  c++  java
  • 创建工程支持scala代码开发

    第一步: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文件

  • 相关阅读:
    forceStopPackage与killBackgroundProcesses方法
    github上十二款最著名的Android播放器开源项目
    AndroidStudio编译错误:Error: null value in entry: blameLogFolder=null
    Vue相关开源项目库汇总 http://www.opendigg.com/tags/front-vue
    Android Drawable 那些不为人知的高效用法
    Android数据存储
    touch事件的分发机制
    Hybrid 开发
    关于Http协议
    设计原理+设计模式
  • 原文地址:https://www.cnblogs.com/starzy/p/10463013.html
Copyright © 2011-2022 走看看