`

可执行jar包的配置与运行

    博客分类:
  • java
 
阅读更多

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的一些配置。

  • 大小: 30.5 KB
  • 大小: 10.9 KB
  • 大小: 47.3 KB
  • 大小: 56.1 KB
分享到:
评论

相关推荐

    ZK可视化工具 ZKUI2.0 本资源为压缩包,内含1个可执行jar包 与 1个程序配置文件,可直接以java -jar运行

    本资源为压缩包,解压后得到可执行jar包 与程序配置文件,可直接运行。ZK可视化工具 ZKUI2. 本资源为压缩包,解压后得到可执行jar包 与程序配置文件,可直接运行。ZK可视化工具 ZKUI2. 本资源为压缩包,解压后得到...

    maven打可执行JAR包

    在本文中,我们将详细讨论如何使用Maven来创建可执行的JAR包,使得通过`java -jar`命令可以直接运行。我们提供两种方法来实现这个目标。 ### 方法一:使用`maven-assembly-plugin` 1. **集成插件**:在`pom.xml`...

    Jar包双击运行配置

    2. **创建可执行JAR**:使用Java的jar工具或者IDE如Eclipse、IntelliJ IDEA,可以通过设置构建配置来创建一个包含正确MANIFEST.MF的可执行JAR。 3. **关联JAR文件与Java**:在Windows操作系统中,JAR文件默认关联到...

    非可执行jar包的Windows bat执行脚本

    在IT行业中,非可执行JAR包的Windows BAT执行脚本是一种常见的技术实践,它允许开发者在不直接运行Java应用程序的情况下调用JAR文件中的功能。这种方法尤其适用于那些需要通过命令行界面(CLI)交互或者批处理任务的...

    java项目导出可执行jar包_笔记

    在打包可执行JAR时,需要一个名为`MANIFEST.MF`的文件来指定主类,即程序启动时要执行的类。可以在项目根目录下创建一个名为`META-INF`的文件夹,然后在其中创建`MANIFEST.MF`文件。文件内容应包含如下格式: ``` ...

    Eclipse 打可执行JAR包

    一、创建可执行JAR包的背景与意义 在Java中,JAR(Java Archive)文件是一种归档格式,用于集合多个类文件、资源文件以及元数据。可执行JAR是其中一种特殊类型的JAR,包含了主类信息,可以直接通过`java -jar`命令...

    生成JAR包的方法(打包后运行好像不快)

    - **使用原生打包工具**:例如使用`Native-image`等工具,可以将JAR包转换为原生可执行文件,通常可以显著提升启动速度。 - **清单文件优化**:在清单文件中合理设置`Main-Class`和`Class-Path`等属性,避免不必要...

    fatjar工具 将java工程打成可执行jar包

    "Fatjar"工具就是这样一个解决方案,它可以帮助开发者将所有的依赖库、类文件和资源文件整合到一个单一的JAR文件中,形成一个可以直接运行的"可执行jar包"。 Fatjar工具的出现解决了传统jar打包时依赖库分离的问题...

    Kettle运行jar及其mvn脚本及配置文件.rar

    【Kettle运行jar及其mvn脚本及配置文件.rar】是一个包含Kettle(Pentaho Data Integration,简称PDI)与Java集成所需资源的压缩包。这个包的主要目的是帮助开发者在Java项目中顺利运行Kettle作业或转换,通过Maven...

    Eclipse打包成JAR包读取外部JAR包和外部配置文件

    然而,当项目完成后,我们需要将其打包成可执行的JAR文件,以便在其他环境中运行。在某些情况下,我们的项目可能依赖于外部的JAR库或者需要读取外部的配置文件,这在打包时需要特别处理。本文将详细介绍如何在...

    build fat打包可执行jar包和使用说明

    "build fat"打包可执行JAR的方法主要涉及将项目的依赖项合并到一个可执行的JAR中,这样用户只需要运行这个JAR,就能启动应用,而不需要额外安装或配置环境。 首先,我们需要理解JAR(Java Archive)文件的本质。JAR...

    【绝对可行,解决404】jfinal项目打包成jar在控制台运行方法

    在IT行业中,开发Java应用程序时,常常需要将项目打包成可执行的JAR(Java Archive)文件,以便在没有开发环境的机器上运行。对于基于JFinal的Web应用,这个过程可能会遇到一些挑战,因为JFinal是轻量级的Java Web...

    生成JAR包及包的运行.doc

    - 对于Windows用户,双击JAR文件运行需确保系统正确配置了Java环境变量,且JAR包内部MANIFEST.MF指定了`Main-Class`。 通过了解这些知识点,开发者能够有效地管理和运行包含多个类和依赖的Java项目,提高工作效率...

    使用IntelliJ Idea 打包成可执行的JAR.pdf

    这个过程是将Java项目打包成可执行JAR的标准做法,使得项目可以在没有IDE的情况下运行。需要注意的是,如果项目依赖的库文件很多,生成的JAR可能会很大,而且对于大型项目,可能需要考虑使用更复杂的打包工具,如...

    ant 将依赖的jar包和classes文件一起打成可执行jar

    标题中的“ant将依赖的jar包和classes文件一起打成可执行jar”指的是使用Apache Ant工具来构建一个包含依赖库和编译后类文件的Java应用程序可执行JAR文件。Ant是一个基于XML的构建工具,它允许开发者通过定义任务来...

    launch4j JAR包打包成WINDOW可执行EXE工具

    【标题】:“launch4j:将Java JAR转换为Windows可执行EXE的工具” 【内容】: 在软件开发过程中,尤其是Java应用开发,我们经常需要将编译后的JAR文件转换为Windows操作系统下的可执行文件(EXE)。launch4j就是...

    编译运行java带jar包

    在Java编程环境中,有时我们需要将多个类打包成一个可执行的JAR(Java Archive)文件,以便于分发和执行。这个过程涉及到编译Java源代码、创建类路径(classpath)、构建MANIFEST.MF文件以及最终打包成JAR。下面我们...

    Maven 生成打包可执行jar包的方法步骤

    使用maven-jar-plugin生成可执行JAR包,主要配置如下: ```xml <groupId>org.apache.maven.plugins <artifactId>maven-jar-plugin <version>2.4 <addMavenDescriptor>false <addClasspath>true ...

    使用eclipse打jar包 可执行的jar

    在生成可执行JAR时,理解类路径和依赖管理至关重要。如果你的项目依赖于其他外部库,确保这些库被正确地打包或链接,否则在运行时可能会抛出`NoClassDefFoundError`等异常。此外,如果项目使用了特定版本的Java,...

    可执行jar及命令详解

    ### 可执行JAR包及JAR命令详解 在Java开发过程中,经常需要用到JAR(Java Archive)包来封装和管理代码、资源文件等。本文将深入探讨可执行JAR包的概念及其创建方法,并详细介绍`jar`命令的使用。 #### 1. JAR ...

Global site tag (gtag.js) - Google Analytics