SpringCloud项目生成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文件,世界如此美妙。

猜你喜欢

转载自blog.csdn.net/u014377853/article/details/78637200