上一篇文章 .net基础学java系列(三)徘徊反思
本章节没啥营养,请绕路!
看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频:
https://edu.51cto.com/course/15850.html,此视频分如下13节!
1-1 Idea介绍(刷过去,不看了)
1-2 Idea安装(刷过去,不看了,官网介绍的使用ToolBox安装,更好!)
1-3 idea创建普通Java工程(好吧,这里就跟.net的控制台应用程序一样嘛!)
1-4 idea设置样式(一个一个设置太麻烦啦)
1-5 idea主题安装(我下的是Visual Studio的主题)
1-6 工程选择与隐藏.idea文件夹(跟Visual Studio还是有点点区别的!)
1-7 idea快捷键设置(选择的是Visual Studio,但是还是各种不习惯,特别是格式化的快捷键,所以)
1-8 lombok插件安装
1-9 tomcat服务器配置
1-10 tomcat关联jar包运行项目
1-11 Jrebel热部署
1-12 idea导入Eclipse项目
1-13 设置导入工程编码
其实,第一次看到1-6、1-7就来了个小插曲!Java同事说,他用了winsw打包jar包,做成了一个windows服务,但是在一台Windows Server 2012的电脑,windows服务没跑起来!让我给他做一个启动jar包的windows服务!)
假如是你,你是继续往下看视频,还是帮他做完windows服务再看?
我的选择:继续囫囵吞枣的看完下面的视频,然后迅速回头帮他弄windows服务!然而我走错了路!
我跟同事说,我还不熟悉IDEA,能否把他的jar包给我?然后他没给我,他是这么做的:
1、当场在我电脑下载了一个Springboot的模板(难道一个控制台程序不行?)
2、解决各种包引用(真是作!)
3、写了一个死循环输出当前时间
4、打包成jar包
在这之后,我就开始码C#的代码了!控制台程序+TopShelf+(C#+CMD+CMD指令【java –jar XXX.jar】)。最终我发现我的程序调试没有问题,但是装成服务后跑不起来,一手动点启动就报错。
再反思:接到任务,为什么不问清楚需求、不做技术预研、不问清楚运行环境就开始码代码了。
反思后:
1、怎么用IDEA打包?
https://www.jetbrains.com/help/idea/packaging-a-module-into-a-jar-file.html
官网确实很鄙视菜鸟,解说得不够明白!
还是网上找找说明,自己实操下!
File –> Project Structure
Artifacts –> JAR –> From modules with dependencies
选择Main Class
点击OK
最后Build –> Build Artifacts
2、为什么要再造轮子?
于是乎,我从github上,下载了winsw的源码 https://github.com/kohsuke/winsw,winsw也C#代码写的,它调用cmd,传入cmd指令,执行jar包!一个成型的项目,必然考虑到了多种场景,而我从零开始码代码,必然存在更多的问题。
我理解的windows服务启动失败!一般都是因为异常引发的!
比如基于TopShelf的windows服务!那么,windows服务中,使用C#调用cmd,启动程序或者运行Java,会有哪些可能的原因导致启动失败的?请有经验的园友帮忙总结总结!
最后,入门的东西确实有点枯燥,还是好高骛远点,继续阅读《大型网站技术架构:核心原理与案例分析》