首先,在这里要严肃而又郑重的说一下:现在互联网环境真的是乱七八糟的恶心人。。找个问题然后答案千篇一律的错的。。。各种无语!你复制粘贴当成自己的我没意见,但是咱们起码能不能找个对的粘贴?觉得这么点小事坑了一下午。。心态真的炸。。
这里说一下大体情况。boss说要项目上线跑一下测试测试,并且在阿里云上租了个ecs测试用。然后用的镜像。虽然有一定的工作经验了,但是其实以前有老板的情况下,代码调试完跑通后就都不用管了。所以说部署还是第一次。有点小激动啊~~
第一步肯定是打包啊~~重点来了!!我在百度搜索“eclipse怎么把项目打包”。算了,本来想上个截图又觉得太针对人了~~我只能这么说,排在前面的点击量高的几个都错了!而且错的一样一样的。尤其是后来我搜索"spring boot项目怎么打包",出来的依然是这几个这样方法的帖子。。我都不知道是吐槽百度还是吐槽谁了。哎~~~
这里说下他们推荐的做法:
我个人在了解后更喜欢称这个是把java文件以jar的形式导出:
1,右键项目,export
![](https://img.haomeiwen.com/i16553345/507bea3348243422.png)
2,选择jar,下一步
![](https://img.haomeiwen.com/i16553345/7f169eb2feb86a33.png)
3,选择你要存储的位置,下一步
![](https://img.haomeiwen.com/i16553345/fe3098915c8f6aa3.png)
4,下一步下一步到最后选择入口类,然后完成。
![](https://img.haomeiwen.com/i16553345/db9c855bfe81e93b.png)
最后:这样就打包完成了。需要注意的点是这么打包,所需要的jar包依赖是倒不进来的。大家也看到了我的是一个spring boot项目。结果控制台一运行就找不到类SpringApplication。。心态要好心态要好~~~继续下一话题。。
改进版做法:
出现找不到类的问题,我直接就针对这个问题找解决办法啊~暂时不太想提那些说什么jar包冲突的说法。。反正最后是在群友的指点下。选择以可运行jar包的形式导出。附上做法
1,右键项目,export
![](https://img.haomeiwen.com/i16553345/507bea3348243422.png)
2,选择可运行jar,下一步
![](https://img.haomeiwen.com/i16553345/a54ea51ade0346e9.png)
3,最后一步了。这个其实比上一个方法还简单。这个页面选择要导入的项目,启动类,存储地址等。然后完成就ok了。
![](https://img.haomeiwen.com/i16553345/99e777c9c1a6bf7a.png)
最后,这个jar在控制台起码运行起来了~很完美。但是!开心不过三秒。作为了个eureka服务器,开始报错。而且是不断刷新的错。强忍着烦躁和对自己的气愤。查看错误原因吧?一看,哦,是找不到注册的服务端。ex?你特么自己不就是服务端么?心理一万只草泥马奔跑~~面上笑呵呵的debug。回到eclipse看一眼配置文件,没错啊。禁止成为客户端了。eclipse跑了一遍程序。也ok啊。一点问题没有。但是我自己生成的这个jar就是怎么运行怎么错。。灵机一动项目中的配置文件application.properties改成乱七八糟的错误配置。然后打包~~MMP,还特么正常启动了~~虽然还是报找不到服务端的错。。问题很明显了。这种打包方式读取不了配置文件。
正确的打包方法:
笑对生活,微笑最美。跟自己默默念叨了几遍。终于心态恢复了。继续百度吧。仍然是最上面的导入jar形式的帖子迷了我的眼。。还是决定问人吧。比较我虽然没做过但是也觉得导出jar应该是个很基础的操作啊。最终的最终,反正我个人认为是找到了正确的打包方式:
1,右键项目,run as , maven build
![](https://img.haomeiwen.com/i16553345/40525cf04edaee32.png)
2,选择你想要的操作。(这里是我事后百度出来的。也算是涨知识了吧)
![](https://img.haomeiwen.com/i16553345/7577e027ba81dbd8.png)
这里能执行的操作有:
compile 编译,将Java 源程序编译成 class 字节码文件。
test 测试,并生成测试报告
clean 将以前编译得到的旧的 class 字节码文件删除
pakage 打包,动态 web工程打 war包,Java工程打 jar 包。
install 将项目生成 jar 包放在仓库中,以便别的模块调用
ok了,反正最后这么打的jar包终于能在cmd上正常运行了~~喜大普奔~~~~~~~~~~~~
哎,其实这个事也得到一个经验。有些时候我们以为的很简单的事也是需要经验和经历的。以前一直以为伸手即来的操作。竟然卡了我一下午。学无止境并且注重细枝末节。其实想想这个也是计算机行业的乐趣所在。好了,今天连着吐槽带着教训。就记录到这里。
全文手打~~这么不容易的写个文~~如果你觉得用到了~留个言点个赞转个发什么的啊~
网友评论