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的一些配置。
相关推荐
本资源为压缩包,解压后得到可执行jar包 与程序配置文件,可直接运行。ZK可视化工具 ZKUI2. 本资源为压缩包,解压后得到可执行jar包 与程序配置文件,可直接运行。ZK可视化工具 ZKUI2. 本资源为压缩包,解压后得到...
在本文中,我们将详细讨论如何使用Maven来创建可执行的JAR包,使得通过`java -jar`命令可以直接运行。我们提供两种方法来实现这个目标。 ### 方法一:使用`maven-assembly-plugin` 1. **集成插件**:在`pom.xml`...
2. **创建可执行JAR**:使用Java的jar工具或者IDE如Eclipse、IntelliJ IDEA,可以通过设置构建配置来创建一个包含正确MANIFEST.MF的可执行JAR。 3. **关联JAR文件与Java**:在Windows操作系统中,JAR文件默认关联到...
在IT行业中,非可执行JAR包的Windows BAT执行脚本是一种常见的技术实践,它允许开发者在不直接运行Java应用程序的情况下调用JAR文件中的功能。这种方法尤其适用于那些需要通过命令行界面(CLI)交互或者批处理任务的...
在打包可执行JAR时,需要一个名为`MANIFEST.MF`的文件来指定主类,即程序启动时要执行的类。可以在项目根目录下创建一个名为`META-INF`的文件夹,然后在其中创建`MANIFEST.MF`文件。文件内容应包含如下格式: ``` ...
一、创建可执行JAR包的背景与意义 在Java中,JAR(Java Archive)文件是一种归档格式,用于集合多个类文件、资源文件以及元数据。可执行JAR是其中一种特殊类型的JAR,包含了主类信息,可以直接通过`java -jar`命令...
- **使用原生打包工具**:例如使用`Native-image`等工具,可以将JAR包转换为原生可执行文件,通常可以显著提升启动速度。 - **清单文件优化**:在清单文件中合理设置`Main-Class`和`Class-Path`等属性,避免不必要...
"Fatjar"工具就是这样一个解决方案,它可以帮助开发者将所有的依赖库、类文件和资源文件整合到一个单一的JAR文件中,形成一个可以直接运行的"可执行jar包"。 Fatjar工具的出现解决了传统jar打包时依赖库分离的问题...
【Kettle运行jar及其mvn脚本及配置文件.rar】是一个包含Kettle(Pentaho Data Integration,简称PDI)与Java集成所需资源的压缩包。这个包的主要目的是帮助开发者在Java项目中顺利运行Kettle作业或转换,通过Maven...
然而,当项目完成后,我们需要将其打包成可执行的JAR文件,以便在其他环境中运行。在某些情况下,我们的项目可能依赖于外部的JAR库或者需要读取外部的配置文件,这在打包时需要特别处理。本文将详细介绍如何在...
"build fat"打包可执行JAR的方法主要涉及将项目的依赖项合并到一个可执行的JAR中,这样用户只需要运行这个JAR,就能启动应用,而不需要额外安装或配置环境。 首先,我们需要理解JAR(Java Archive)文件的本质。JAR...
在IT行业中,开发Java应用程序时,常常需要将项目打包成可执行的JAR(Java Archive)文件,以便在没有开发环境的机器上运行。对于基于JFinal的Web应用,这个过程可能会遇到一些挑战,因为JFinal是轻量级的Java Web...
- 对于Windows用户,双击JAR文件运行需确保系统正确配置了Java环境变量,且JAR包内部MANIFEST.MF指定了`Main-Class`。 通过了解这些知识点,开发者能够有效地管理和运行包含多个类和依赖的Java项目,提高工作效率...
这个过程是将Java项目打包成可执行JAR的标准做法,使得项目可以在没有IDE的情况下运行。需要注意的是,如果项目依赖的库文件很多,生成的JAR可能会很大,而且对于大型项目,可能需要考虑使用更复杂的打包工具,如...
标题中的“ant将依赖的jar包和classes文件一起打成可执行jar”指的是使用Apache Ant工具来构建一个包含依赖库和编译后类文件的Java应用程序可执行JAR文件。Ant是一个基于XML的构建工具,它允许开发者通过定义任务来...
【标题】:“launch4j:将Java JAR转换为Windows可执行EXE的工具” 【内容】: 在软件开发过程中,尤其是Java应用开发,我们经常需要将编译后的JAR文件转换为Windows操作系统下的可执行文件(EXE)。launch4j就是...
在Java编程环境中,有时我们需要将多个类打包成一个可执行的JAR(Java Archive)文件,以便于分发和执行。这个过程涉及到编译Java源代码、创建类路径(classpath)、构建MANIFEST.MF文件以及最终打包成JAR。下面我们...
使用maven-jar-plugin生成可执行JAR包,主要配置如下: ```xml <groupId>org.apache.maven.plugins <artifactId>maven-jar-plugin <version>2.4 <addMavenDescriptor>false <addClasspath>true ...
在生成可执行JAR时,理解类路径和依赖管理至关重要。如果你的项目依赖于其他外部库,确保这些库被正确地打包或链接,否则在运行时可能会抛出`NoClassDefFoundError`等异常。此外,如果项目使用了特定版本的Java,...
### 可执行JAR包及JAR命令详解 在Java开发过程中,经常需要用到JAR(Java Archive)包来封装和管理代码、资源文件等。本文将深入探讨可执行JAR包的概念及其创建方法,并详细介绍`jar`命令的使用。 #### 1. JAR ...