SpringCloud项目生成Jar包执行

在服务器部署Spring Cloud项目时,生成可执行jar文件需要注意项目能在STS中正常运行。通过STS的export和Maven build无法成功生成可运行jar。解决方法是使用外部Maven,确保无测试类或跳过测试,执行`mvn install -DskipTests`,在target目录下生成的jar包可正常运行。

服务器部署spring cloud项目

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.8.RELEASE</version>
		<relativePath/>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<spring-cloud.version>Dalston.SR4</spring-cloud.version>
	</properties>

想生成jar文件需要注意几点:

  1. **项目的版本一定先要能在STS,全名spring tool suits,里面能运行 **
  2. 不能依靠STS的export和maven build,亲自尝试了三个小时没有成功,都是可以生成jar包,但是都不能运行
  3. 安装外部maven单干

接下来细细说:

  1. 项目是基于STS开发的,开发好了,因为要迁移数据库和服务器地址,DNS没有配置,所以用ip需要重新配置properties.yml文件
  2. sts的export是直接导出可执行jar,注意和jar的区别。

这里写图片描述

这里写图片描述

图二需要说明一下Library handling的三个选项,前两个是把项目需要引用的jar放到最后打包的jar里面,区别是文件组织方式不同,第三个是直接新建一个新的name_lib文件夹存放lib jar包。
但是导出后运行报错如下:

这里写图片描述

查看多方解释无解,分析后觉得是spring加载方式不对,但是这是sts或eclipse默认的导出方式。

第二使用maven build导出jar包。

这里写图片描述

这里写图片描述

这里生成时有个问题,因为项目写了单元测试在测试类里面,但是构建时无法加载spring的applicationcontext而失败。因此,如果写了测试类,建议勾上skip tests。
这样生成了之后,还是错误的,代码不贴了,分析后觉得是hibernate没有生成entitymanager可能是哪里结构出错。

成功实践

**最终取得真经,还是要靠单干。**直接把项目里面的src文件夹和pom.xml拿出来,放到一个新的文件夹里面,然后把cmd或者powershell切换到当前目录,当然需要先安装jdk和maven(应该没有人没装),运行mvn install(还是一样的,有测试的最好跳过,加个 -DskipTests),自动生成target文件夹,里面就有一个jar文件,世界如此美妙。

### Spring Cloud 项目JAR 文件教程 Spring Cloud 是一种基于微服务架构的应用开发框架,其项目的构建通常依赖于 Maven 或 Gradle 工具来管理依赖并执行生命周期操作。以下是关于如何将 Spring Cloud 项目JAR 文件的具体说明。 #### 使用 Maven 构建工具进行打 通过 Maven 的 `Lifecycle` 插件可以轻松实现项目编译、测试以及最终的打过程。具体方法如下: 1. **父模块配置** 在父模块中定义统一的版本号和依赖项,确保子模块能够继承这些设置。这一步骤可以通过编辑根目录下的 `pom.xml` 文件完成[^1]。 2. **子模块打** 子模块通常是实际业务逻辑所在的模块,在该模块下运行 Maven 命令即可生成对应的 JAR 文件。命令如下: ```bash mvn clean install ``` 上述命令会清理旧的目标文件 (`clean`) 并重新安装最新的构件到本地仓库 (`install`) 同时也会触发打流程[^2]。 3. **定位目标文件** 成功执行上述命令后,可以在对应子模块路径下的 `target/` 文件夹找到生成的 `.jar` 文件。 4. **运行 JAR 文件** 当前阶段已经完成了整个 Spring Cloud 应用程序的打工作,接下来可以直接利用 Java 来启动这个可执行 JAR 文件: ```bash java -jar your-application-name.jar ``` #### 示例代码片段展示 下面是一个典型的 `pom.xml` 配置示例用于支持 JAR功能: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> ``` 此插件负责处理 Spring Boot 类型应用特有的打需求,比如嵌入 Tomcat 容器等必要组件。 --- #### 注意事项 - 如果遇到任何错误提示,请仔细检查网络连接状态或者确认所有外部库均已正确下载至本地缓存区。 - 对于复杂的分布式系统而言,可能还需要额外考虑诸如 Eureka 注册中心、Config Server 配置服务器之类的其他组成部分单独部署情况。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值