可执行jar包的配置与运行
程序员文章站
2022-03-10 11:36:13
...
spring boot项目可以以jar包的形式执行运行。spring boot技术目前很火,因此了解可运行jar包的制作和执行过程很重要。
1、项目结构如下
2、我们以config模块为例子,其gradle文件配置如下
group 'spring-cloud-in-action' version '1.0-SNAPSHOT' apply plugin: 'java' sourceCompatibility = 1.8 /** * 自定义变量 */ ext.vendor = 'IWill' ext.email = 'yangjianzhouctgu@126.com' /** * 定义源文件所在目录和输出目录 */ sourceSets { main { java{ srcDir 'src/main/java' } resources { srcDir 'src/main/resources' } output.classesDir = "build/classes/main/" output.resourcesDir = "build/classes/main/" } } /** * 定义第三方jar包库 */ repositories { mavenCentral() } /** * 添加第三方库依赖 */ dependencies { compile("org.springframework.cloud:spring-cloud-starter:1.0.3.RELEASE") compile("org.springframework.cloud:spring-cloud-config-server:1.0.2.RELEASE") compile("org.springframework.cloud:spring-cloud-starter-eureka:1.0.3.RELEASE") testCompile group: 'junit', name: 'junit', version: '4.12' } /** * 将jar复制到指定目录 */ task copyJars(type: Copy) { from configurations.runtime into 'build/libs/lib' } /** * 将资源文件复制到指定目录 */ task copyConfigs(type: Copy) { from 'resources/' into 'build/libs/resources' } task generateJar(type: Jar, dependsOn: [copyJars, copyConfigs, jar]) { /** * 指定MANIFEST.MF相关属性 */ manifest { attributes ('Implementation-Title': 'Gradle', 'Implementation-Version': version, 'Created-By': vendor, 'Email': email, 'Main-Class': 'com.springCloud.config.ConfigApplication', 'Class-Path': configurations.compile.collect {'lib/' + it.getName()}.join(' ') ) } /** * 将build/classes/main中的文件复制到jar包的根目录下 */ into('') { from "build/classes/main" } /** * 将build/libs/lib中的文件复制到jar包的libs目录下 */ into('libs') { from "build/libs/lib" } }
3、在config 模块的根目录下,执行gradle clean generateJar
4、变化后的项目结构如下
5、打开config-1.0-SNAPSHOT.jar,其结构如下
6、在config-1.0-SNAPSHOT.jar所在目录运行 java -jar config-1.0-SNAPSHOT.jar,结果如下:
总结:
这里主要用到了gradle的相关知识,sourceSets、task的等,还有一些细节配置等。学习运行spring boot的同时,也了解gradle的一些配置。
上一篇: oracle数据库在windows上的安装及plsql配置
下一篇: perl小程序