一:事由

现在的项目组开发项目使用的是Spring Boot的技术,开发的时候是直接通过一个入口主函数来启动项目的。如果将项目交给客户,怎样才能正确的发布运行呢?百度了一下有关的知识,大概了解到是通过导出jar包,直接运行来实现的。不过从网上查阅的资料,都不太理想,于是自己和另外一个同事就倒腾开了。倒腾了好一会,最终找到了一个比较简单有效的方法来实现,现在分享如下。

二:从Eclipse中导出对应的可运行的jar包(这一步是最为关键的)

1:选中对应的java项目——右键——导出

2:选择导出java项目——可运行的JAR文件

3:各种导出的设置都试验过,下面的这种是可以的,这一步也是导出的关键步骤

4:java文件中带有编译性的警告,不影响程序的正常运行,点击OK按钮后就可以去对应的导出目录下查看对应的导出文件是否正确了

三:运行对应的jar文件(实验导出的JAR文件是否能正常运行,我们实验的时候,多是缺少第三方的JAR文件,不是对应的文件没有完全导出就是有一个关键的文件导出的不正确

四:通过Windows批处理文件来运行对应的jar文件(这一步的目的很简单,就是为了更加简单方便的运行导出的JAR文件

五:小结

经过一阵折腾,最终总算找到了一个最为简单方便的方法来实现我们的需求,中间遇到了一些问题,关键的一个问题就是缺少第三方的jar文件,对应的MANIFEST.MF这个文件导出的不正确,这个文件至少包括正确的:版本号、类路径、主函数的信息才可以。

Spring Boot导出jar包发布的更多相关文章

  1. spring boot打jar包发布

    artifactId 是即将打包的包的名称 version 是即将打包的版本号 packaging 是即将打包的格式,这里讲的是jar包 终端输入命令: mvn clean install 然后在ta ...

  2. spring boot将jar包转换成war包发布

    spring boot将jar包转换成war包发布步骤 将<packaging>jar</packaging>修改为<packaging>war</packa ...

  3. Spring Boot由jar包转成war包

    Spring Boot由jar包转成war包 spring boot 默认是以jar包形式启动web程序,在新建spring boot项目时候可以选择war包的启动方式. 建议在开发的时候建立以jar ...

  4. Spring boot 打成jar包问题总结

    Spring boot 打成jar包问题总结 1.Unable to find a single main class from the following candidates 1.1.问题描述 m ...

  5. Spring Boot 使用Jar打包发布, 并使用 Embedded Jetty/Tomcat 容器

    Jar包发布 在项目pom.xml中, 如果继承了Spring Boot的starter parent, 那么默认已经包含打包需要的plugins了, 设置为jar就能直接打包成包含依赖的可执行的ja ...

  6. 在Docker容器中运行Spring Boot的jar包 jar外的配置文件无法生效

    Spring Boot加载配置文件,默认会从几个固定位置搜索一下看看有没有配置文件 ——application.properties或者bootstrap.properties(如果你使用了sprin ...

  7. Spring Boot 以 jar 包方式运行在后台

    spring-boot jar 包方式启动: 首先,为了防止和常用的 Tomcat 8080 端口冲突,将 Spring-boot 项目的端口号设置为 9090. 具体方法:在 application ...

  8. spring boot 打jar包,获取resource路径下的文件

    前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到. 我想到了两种方法,一种是根据http访问静态资源比如 ...

  9. spring boot打jar包(maven对jar和lib分离)

    spring boot intellij Ide打包有两种方式: 1.maven:熟悉.方便配置灵活 2.Build artifacts:操作比较复杂,jar和lib包分离 重点讲maven如何支持j ...

随机推荐

  1. 报错:java.lang.IllegalStateException: Cannot call sendError() after the response has been committed(待解答)

    严重: Servlet.service() for servlet [default] in context with path [/20161101-struts2-1] threw excepti ...

  2. linux下mongodb定时备份指定的集合

    目标:把一台linux机上mongodb的数据定时备份到另一台机上: 过程: 一开始打算使用mongoexport和mongoimport,但是总是会报“\x00”字符串不能识别的问题,后来就改成了m ...

  3. 内存修改mfc

    vc++6.0,内涵图

  4. Report_SRW在RDF中初始化的重要性(案例)

    2015-02-01 Created By BaoXinjian 一.摘要 在开发oracle report(report 6i)的时候,常常会用到fnd_global或fnd_profile来获取当 ...

  5. 远程调用jboss as 7上部署的ejb出现No EJB receiver available for handling 异常

    昨天倒腾了一天终于配置好了jboss as 7的域,今天又倒腾了一整天在上面部署了个EJB,然后试了一个利用JNDI来进行远程调用.下面记录一下过程中那些乱七八糟的问题: 首先是这个jboss-cli ...

  6. js 回车提交表单的实现

    我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此.比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键 ...

  7. 播放wav聲音格式

    1. #import <AudioToolbox/AudioToolbox.h> 2.聲明 成員变量 SystemSoundID soundID; 3.播放 - (void)playSou ...

  8. NSSet类型 以及与NSArray区别

    NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合: NSSet  , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSAr ...

  9. 4个理由告诉你Java为何排行第一

    Java已经有20年的历史了,甚至更久,而这取决于你所询问的人和你的计算方式.忽略它的年龄不看,Java依然排行第一.它的实用性.性能和向后兼容性都彰显其价值所在.2016年伊始,标志着我们已经走过了 ...

  10. PDF出力相关资料

    http://itext.2136553.n4.nabble.com/iText-SetFieldProperty-method-not-working-for-some-parameters-set ...