欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

可执行jar包的配置与运行

程序员文章站 2022-03-10 11:36:13
...

spring boot项目可以以jar包的形式执行运行。spring boot技术目前很火,因此了解可运行jar包的制作和执行过程很重要。

1、项目结构如下

可执行jar包的配置与运行
            
    
    博客分类: java
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、变化后的项目结构如下


可执行jar包的配置与运行
            
    
    博客分类: java

  5、打开config-1.0-SNAPSHOT.jar,其结构如下

   可执行jar包的配置与运行
            
    
    博客分类: java
 6、在config-1.0-SNAPSHOT.jar所在目录运行 java -jar config-1.0-SNAPSHOT.jar,结果如下:

可执行jar包的配置与运行
            
    
    博客分类: java
 

 总结:

       这里主要用到了gradle的相关知识,sourceSets、task的等,还有一些细节配置等。学习运行spring boot的同时,也了解gradle的一些配置。

  • 可执行jar包的配置与运行
            
    
    博客分类: java
  • 大小: 30.5 KB
  • 可执行jar包的配置与运行
            
    
    博客分类: java
  • 大小: 10.9 KB
  • 可执行jar包的配置与运行
            
    
    博客分类: java
  • 大小: 47.3 KB
  • 可执行jar包的配置与运行
            
    
    博客分类: java
  • 大小: 56.1 KB