intellij idea 打Scala jar包及执行

时间:2019-10-28
本文章向大家介绍intellij idea 打Scala jar包及执行,主要包括intellij idea 打Scala jar包及执行使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

分两大块:

一、IDEA打可执行jar包

二、IDEA maven打可执行jar包

一、IDEA打可执行jar包

1.先创建IDEA的Scala project

File-->New-->Project-->Java-->Scala ,选择Project SDK:jave包,Use library:scala sdk-->next-->填写项目名称和项目存放地址-->Finish

2.配置打jar包

File-->Project Structure-->Project Settings-->Artifacts--> 点击+--->JAR-->From modules...-->选择Main class-->OK

-主函数包同路径下会产生一个META-INF文件夹;

Build-->Build Artifact-->Build

-项目路径下会产生一个out文件夹:jar包就在这个文件夹下面的artifacts文件夹里面

3.命令行上执行jar包

在jar包所在的文件夹目录下,执行 java -jar jar_name.jar

二、IDEA maven打可执行jar包

1.创建并配置maven工程

例如,创建以Scala语言为基础的maven工程

File-->New-->Project-->Maven-->选中Create from archetype,在列表中寻找并选中org.scala-tools.archetypes:scala-archetype-simple-->Next-->填写GroupID,ArtifactID-->Next-->修改Maven home directory,本地存在的maven地址-->Next-->填写项目名称和项目地址-->Finish

会自动生成pom.xml文件,根据项目需要修改pom.xml文件。

2.需要在pom.xml文件中添加maven打可执行jar包的插件-将maven依赖的包一起打包进jar包

          <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.testscalajar.StreamingTest</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

点击lifecycle-->package打包生成jar文件,需要先删除生成过的目标文件夹,点击lifecycle-->clean.

在target 文件夹下面生成了 jarname-1.0-SNAPSHOT-jar-with-dependencies.jar 文件

接着命令行执行 java -jar jarname-1.0-SNAPSHOT-jar-with-dependencies.jar 会报错:找不到或无法加载主类

这是由于maven默认只编译Java文件,不会编译Scala文件,但是maven提供了能够编译Scala的类库,因此再次改进pom.xml,加入maven用来编译Scala的插件:

<plugin>
    <groupId>org.scala-tools</groupId>
    <artifactId>maven-scala-plugin</artifactId>
    <version>2.15.2</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>
然后删除target 下所有文件再次点击package 进行打包.

再次执行 java -jar 命令 程序 正常执行!!

原文地址:https://www.cnblogs.com/xl717/p/11751960.html