首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用sbt和Java 1.8生成能够在Java 1.7上运行的jar文件

使用sbt和Java 1.8生成能够在Java 1.7上运行的jar文件,可以按照以下步骤进行操作:

  1. 确保已经安装了Java 1.8和sbt,并且配置了相应的环境变量。
  2. 在项目根目录下创建一个build.sbt文件,用于配置项目的构建信息。在该文件中,指定Java版本为1.8,同时设置目标兼容性为1.7。示例配置如下:
代码语言:scala
复制
name := "YourProjectName"

version := "1.0"

scalaVersion := "2.12.10"

javacOptions ++= Seq("-source", "1.7", "-target", "1.7")

javacOptions in Test ++= Seq("-source", "1.7", "-target", "1.7")
  1. 在项目根目录下创建一个src/main/scala目录,并将Java源代码文件放置在该目录下。
  2. 打开命令行终端,进入项目根目录。
  3. 执行sbt命令进入sbt的交互模式。
  4. 在sbt交互模式下,输入compile命令编译项目代码。
  5. 编译成功后,输入assembly命令生成可执行的jar文件。sbt-assembly插件会将项目的所有依赖打包到生成的jar文件中。
  6. 在项目根目录的target/scala-2.12目录下可以找到生成的jar文件。

通过以上步骤,你可以使用sbt和Java 1.8生成能够在Java 1.7上运行的jar文件。这样生成的jar文件可以在Java 1.7环境中运行,并且包含了项目的所有依赖。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Kafka介绍及安装部署

这个名字实际对应于消费服务中一个队列(Queue),消息传递给消费者之前它被存储在这个队列中。队列消息可以放在内存中也可以是持久,以保证消息服务出现故障时仍然能够传递消息。...发布者订阅者之间存在时间依赖性。发布者需要建立一个订阅(subscription),以便能够让消费者订阅。订阅者必须保持持续活动状态以接收消息,除非订阅者建立了持久订阅。...可以装在任何一台机器,我这里部署一台单独机器。...生成包会在kafka-manager/target/universal 下面。生成包只需要java环境就可以运行了,以后部署到其他机器不需要安装sbt进行打包构建了。 ? 6....你也可以启动时指定配置文件监听端口: # bin/kafka-manager -Dconfig.file=/path/to/application.conf -Dhttp.port=8080 启动并置于后台运行

1.7K30

Scala学习系列(二)——环境安装配置

2、使用IDEA SBT开发Scala 上面我们通过Idea安装并运行了Scala程序 我们已经可以IDEA中开发Scala了!...左侧面板,选择Scala,右侧面板,选择sbt 点击下一步 将项目命名为“ SbtExampleProject” 确保JDK版本为1.8sbt版本至少为0.13.13 了解目录结构...(sbt's build definition file) 随后我们进入项目中 新建文件 输入sbt指令 进入后 run 执行项目 五、Scala Java同时运行 sbt是scala专属...所以如果我们有scalajava代码同时执行情况时 需要新建一个maven工程 pom文件写法如下: ...然后maven打包 我们target下边发现 可以通过 java -jar Hello.jar或者 scala Hello.jar 运行 至此我们Scala环境已经安装完成,推荐大家还是通过

3.3K20

008.Kafka集群管理工具CMAK-3.0.0.5源码编译以及安装部署

# 这说明这个文件有问题 # 我验证了一下,果然sha1值对不上 # 于是我maven中央仓库下载了该jar包,https://repo1.maven.org/maven2/org/webjars...(SLS 3.2.10) [error] cp => props.putAll(cp.asMap) ... # 我环境是JDK1.8,由于官网介绍cmak都是使用JDK11编译于是我尝试使用...JDK1.8环境中无法运行,于是才有了一步源码编译,我想使用JDK1.8编译,使得安装包可以JDK1.8环境中运行,结果使用JDK1.8编译都编译不过,于是,只好老老实实使用JDK11来安装cmak...# 1.安装JDK11 # cmak都是使用JDK11版本来编译,所以使用JDK8是无法运行 # 所以给cmak单独部署JDK11环境 [admin@bdc01 java]$ ll /usr/java...实际为JDK1.8 [admin@bdc01 java]$ echo $JAVA_HOME /usr/java/jdk # 2.解压 [admin@bdc01 opt]$ sudo unzip cmak

1.8K30

30分钟--Spark快速入门指南

本教程具体运行环境如下: CentOS 6.4 Spark 1.6 Hadoop 2.6.0 Java JDK 1.7 Scala 2.10.5 准备工作 运行 Spark 需要 Java JDK...点击查看:解决 sbt 无法下载依赖包问题 使用 sbt 打包 Scala 程序 为保证 sbt 能正常运行,先执行如下命令检查整个应用程序文件结构: cd ~/sparkappfind ....SimpleApp文件结构 接着,我们就可以通过如下代码将整个应用程序打包成 JAR(首次运行同样需要下载依赖包,如果这边遇到网络问题无法成功,也请下载上述安装 sbt 提到离线依赖包 sbt-0.13.9...SimpleApp文件结构 生成 jar位置为 ~/sparkapp/target/scala-2.10/simple-project_2.10-1.0.jar。...通过 spark-submit 运行程序 最后,我们就可以将生成 jar 包通过 spark-submit 提交到 Spark 中运行了,命令如下: /usr/local/spark/bin/spark-submit

3.5K90

Akka-CQRS(10)- gRPC on SSLTLS 安全连接

使用gRPC作为云平台移动前端连接方式,网络安全应该是必须考虑一个重点。gRPC是支持ssl/tls安全通讯机制。用了一个周末来研究具体使用方法,实际是一个周末挖坑填坑过程。...仔细研究了一下githubgRPC-java说明文件SECURITY.MD,感觉应该是grpcnetty版本问题,特别是下面这几个依赖: Find the dependency tree (e.g...好像缺失了io.netty:netty-tcnative-boringssl-static:jar,按照对应gRPC版本build.sbt里加上: name := "learn-grpc" version...不过客户端使用了证书后仍然无法连接到服务端。没办法,又要再去查资料了。看来现在应该是证书问题了。先看看是不是因为使用证书是自签self-signed-certificate。...grpc-java里提供了一些测试用证书私钥说明文档。

1.3K40

如何使用IDEA加载已有Spark项目

背景是这样:手上有一个学长之前实现Spark项目,使用到了GraphX,并且用Scala编写,现在需要再次运行这个项目,但如果直接在IDEA中打开项目,则由于各种错误会导致运行失败,这里就记录一下该如何使用...确定项目的版本环境 这一步是非常重要,很多情况下就是由于版本不匹配导致代码解析出现错误,主要环境版本包括: Java Version 1.8 必须 scala-sdk-x.xx.x spark-assembly-x.x.x-hadoop.x.x.jar...//注意这是No-sbt模式下必须,这个包很大,大概170M,导入后不用再添加其他依赖即可对Spark程序进行本地(Local)运行,其已包括GraphX模块。...Java版本 这里由于要是用Scala所以必须使用 Version 1.8+,关于如何修改版本这里不赘述。...在这里,原项目使用是 spark-assembly-1.4.1-hadoop2.6.0.jar 但是这个jar包早就不在项目文件中了,然后在网上也没有搜到完全匹配Jar包,但上文已说到,找个spark

1.9K20

Spark SubmitClassPath问题

我们Scala项目中,可以直接将要依赖jar包放在modulelib文件夹下,使用sbt执行编译打包任务时,会自动将lib下jar包放入classpath中。...由于我们使用sbt assembly,并编写了对应脚本来支持整个产品打包工作,最终打包结果是一个完整mort.jar包。换言之,我们要依赖外部Jar包也将被打包到最终jar文件中。...实际sbt assembly并不会将所有依赖外部包都装配到最终部署包中,只要在sbt依赖中添加provided,就能保证第三方依赖包不被包含进部署包中。...该文件仍然不能作为内嵌资源文件打包到部署包中。因为这个文件内容需要区分测试环境生产环境。部署到生产环境中时,需要替换为另一个key文件。...客户文档说明,需要将该文件(不是jar文件)放到运行classpath中。

4.2K90

Spring之注解实现aop(面向切面编程)

,就叫做切面(类)         面向切面编程,就是指对很多功能都有的重复代码抽取,再在运行时候往业务方法动态植入"切面类代码";     1.4:切入点         执行目标对象方法,动态植入切面代码...aspectjrt.jar】 《注意:用到spring2.5版本jar本舰,如果用jd1.7版本可能会出现问题,               需要升级以下aspectj组件,即使用aspectj...-1.8.2版本中提供jar文件aspectjweaver.jaraspectjrt.jar》            (2)bean.xml中引入aop名称空间 技巧:找到文件spring-framework...3.2:编辑环境:eclipse+tomcat8.0+jdk1.8,为什么说编辑环境呢,因为jdk1.8spring好像有仇似的,开始我安装jdk是1.8版本,总之包很多很多错,主要caused...,但是总要配置环境变量吧,我就配置jdk1.7之后发现验证时候还是显示是jdk1.8,我就赶紧思考啊,思考过后我考虑应该把jdk1.7,jdk1.8都卸载了,然后我都卸载了,然后重新安装jdK1.7,

968100

Maven

其它“远程”仓库可能是你公司拥有的建立文件或HTTP服务器内部仓库(不是Apache那个中央仓库, 而是你们公司私服,你们自己局域网搭建maven仓库),用来开发团队间共享私有构件管理发布...用来做jar版本控制。 【2】JAR工程 将会打包成jar,用作jar使用。即常见本地工程 ---> Java Project。 【3】WAR工程 将会打包成war,发布服务器工程。...通俗理解:就是导jar包。 B工程可以是自己项目打包后jar包,也可以是中央仓库jar包。 【2】如何注入依赖呢?...: tomcat插件 我们如果创建war项目,必然要部署服务器,方式: (1)部署远程服务器 (2)将IDEA外部tomcat产生关联,然后将项目部署在外部tomcat 现在学习一个新方式...- javac 打包 - jar, 将java代码打包为jar文件 安装到本地仓库 - 将打包jar文件,保存到本地仓库目录中。

2.8K40

Java高编译低运行错误(ConcurrentHashMap.keySet)

问题 本地使用maven编译运行时一切都正常,但是通过ci方式,编译、打包、发布到部署环境,运行时抛出了一条显而易见JDK版本错误。...为了进一步验证部署服务器class文件都是JDK 8编译,我使用javap这个JDK自带工具做了如下验证: javap -v a.class |grep major 返回结果是 major...release版本兼容性class文件,不过只确保目标VM能够加载class文件,却无法保证运行正确性。...小结 javac指定了这些参数,降低版本号来编译,会导致生成class文件被标识为较低版本以供指定JVM加载。...JDK 7运行时,JVM动态调用一定是ConcurrentHashMapkeySet():java.util.Set方法了。

1.4K30

Play For Scala 开发指南 - 第4章 第一个Play项目

发布Play项目 Play项目的发布也是通过sbt命令完成,进入命令行执行sbt dist,命令执行完成后,target\universal目录下会生成应用文件play-scala-starter-example...执行sbt stage命令,命令执行完成后,\target\universal\stage\lib会生成如下两个jar文件: ?...实际Play项目并不依赖于IDE开发环境,上文中说过,Play项目其实是SBT项目,通过SBT命令行可以完成Play项目生命周期整个构建过程。...也就是说你完全可以使用文本工具开发Play项目,然后命令行进行构建。但是为了提高开发效率,还是建议使用IDEA进行开发,不仅有语法提示优势,Play项目调试时IDEA将发挥很重要作用。...这是由于模板函数index是项目编译过程中动态生成,所以新增模板函数IDEA中会提示找不到,这时只要在命令行执行sbt compile,然后SBT projects窗口单击蓝色刷新按钮,错误即会消失

2.7K40

Spark 开发环境搭建

1 前言 本文是对初始接触 Spark 开发入门介绍,说明如何搭建一个比较完整 Spark 开发环境,如何开始应用相关工具,基于如下场景: 使用 hadoop HDFS 存储数据; 使用 Spark...一般而言,使用与系统实现语言相同 scala 语言进行应用开发,保障最大化运行时性能同时(Scala, Java 程序会被编译直接在 JVM 运行代码,Python, R 程序运行时存在虚拟机之间交互...java vm 参数 --- lib/ # 预装 jar 包 5.2 sbt 工程样例 将上面交互模式下运行单词计数使用独立 scala 程序实现。...重要: scalaVersion 必须与当前 spark 使用 scala 版本一致,否则生成 jar 包不一定能在 spark 环境中运行,这个版本可以通过查看 $spark_root/jars/...5、编译与打包 sbt package 执行上述命令,完成编译打包,生成 jar 文件,到这里,第一个独立打包 spark app 已孵出了。

6.7K21

Github 项目推荐 | Basel Face Model 2017 完全参数化人脸

上面的一行图片说明了图像模型参数是沿着某个参数等距位置采样 - 在这种情况为偏航姿态(the yaw pose),我们将此设置称为“受控”(controlled)。...用法 安装: 已安装Java(建议使用8.0或更高版本) 下载jar配置文件 下载Basel Face Model 2017 下载Basel Illumination Prior 2017 获取背景数据集...,例如可描述纹理数据集 运行: 修改data / config_files / example_config_controlled.json中路径配置 用于“受控”设置中生成图像,执行: java...为了“随机”设置中生成图像,执行: java -Xmx2g -cp generator.jar faces.apps.RandomFaces -c data / config_files / example_config_random.json...对于开发者: 已安装Java(建议使用8.0或更高版本) 安装sbt(仅用于从源代码编译) 克隆库 编译并使用sbt run -mem 2000运行 Github 地址 https://github.com

3.2K70

Jmeter系列之简介与环境安装

另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言脚本来验证程序是否返回了期望结果。为了最大限度灵活性,JMeter允许使用正则表达式创建断言。...,便于接口调试; 多平台支持,可在Linux,Windows,Mac运行; 轻量级,其他测试工具相比更加灵活性; ?...也可以微信公众号后台回复"20191004"获取JDK 1.7或JDK 1.8安装包。 ? ? ②下载完,点击默认安装即可。 ? ?...最低jdk1.8;  Jmeter4.0/5.0:最低jdk1.8; ②下载完成后,解压即可使用,解压后目录如下: ?...:Linux下启动文件; jmeter.log:Jmeter运行日志文件; jmeter.properties:Jmeter配置文件; jmeter-server.bat:windows下启动负载,生成器服务文件

77740

第42篇:Fortify代码审计命令行下使用与调用方法

-cp "**/*.jar" 主要用于java项目,有的文档称之为classpath,也可以理解为jar路径。 6....-source 1.7 指定你要扫描Java项目是什么版本JDK编写,可用值是1.7, 1.8,1.9, 7, 8, 9, 10, 11, 12, 13, 14, 17。...默认值是"1.8"。 7. -f result.fpr 生成一个fpr文件,以后可以用图形界面查看这个结果文件。 8. -64 使用64位,一般都需要加上。 9....-Xmx 指定Fortify静态代码分析器使用最大内存量,比如-Xmx10000m。官方说明书不建议值取32 GB48 GB 之间,因为取值32G或者更小内存,反而会增加性能。...查看Diagram图表具体使用如下: 使用ReportGenerator程序将.fpr文件转换成pdf文件。 如下图所示,生成了pdf文件

1.7K21

JVM

文章目录 Java脑图 谈谈对Java理解 平台无关性 特点 类测试complie 编译运行 反编译 不同系统解析class文件成为不同机器码 为什么不直接编译成机器码 JVM如何加载.class文件...特点 编译 生成.class 二进制文件 javac xxx.java 运行 java xxx 命令反编译帮助 javap -help 反汇编 javap -c xxx 类测试complie...ASM目标是生成,转换分析已编译java class文件,可使用ASM工具读/写/转换JVM指令集。...方法区是JVM一种规范 jdk1.7之后位于方法区字符串常量池,已被移动到了Java堆中 jdk1.8中元空间替代了永久代 解决了运行空间不足可能产生异常 堆(Heap) 线程共享堆...jdk6永久代内存异常 切换到1.71.8 对比不同jdkintern() 1.7 1.6

50821
领券