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
- Golang语言社区--使用百度API获取经纬度
- HDUOJ---The number of divisors(约数) about Humble Numbers
- HDUOJ----最少拦截系统
- Go语言截取字符串函数用法
- HDUOJ -----免费馅饼
- HDUOJ----Super Jumping! Jumping! Jumping!
- HDUOJ----数塔
- Golang语言-并发支持
- HDUOJ-----I NEED A OFFER!
- HDUOJ---2546 饭卡
- 假期前的数据库检查脚本之主备关系(r11笔记第46天)
- HDUOJ----1003 Max Sum
- HDUOJ--Bone Collector
- HDUOJ--1058HangOver
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- CentOS6.5安装python3.7详细步骤
- Centos7.5配置IP地址的实现
- linux里daily_routine实例代码详解
- 类Linux环境安装jdk1.8及环境变量配置详解
- CentOS7yum安装PHP7.2的操作方法
- CentOS 7中 Apache Web 服务器安装配置教程
- Win10安装Linux系统的教程图解
- 浅谈ubuntu执行.sh文件几种方式区别
- CentOS7使用yum安装PostgreSQL和PostGIS的方法
- Linux Windows下设置定时执行任务的方法
- 详解ssh免密码登录配置方法(图示加命令)
- centos 7 修改sshd | 禁止 root登录及sshd端口脚本定义
- Linux 全能系统监控工具dstat的实例详解
- 解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题
- linux常用工具vi/vim的使用完整版