上一篇文章 .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,会有哪些可能的原因导致启动失败的?请有经验的园友帮忙总结总结!

最后,入门的东西确实有点枯燥,还是好高骛远点,继续阅读《大型网站技术架构:核心原理与案例分析》

.net基础学java系列(四)Console实操的更多相关文章

  1. .net基础学java系列(三)徘徊反思

    .net基础学java系列(三)徘徊反思 上一篇文章:.net基础学java系列(二)IDE 之 插件 这两天晚上看完了IDEA的教学视频:https://edu.51cto.com/course/1 ...

  2. .net基础学java系列(二)IDE 之 插件

    上一篇文章.net基础学java系列(二)IDE "扎实的基础"+"宽广的视野",基本可以帮我们摆脱码畜.码奴.码农的命运! IT领袖:IT大哥:IT精英:IT ...

  3. .net基础学java系列(二)IDE

    上一篇文章.net基础学java系列(一)视野 废话: "视野"这篇文章,管理员说它比较空洞!也许初学者看不懂表格中的大部分内容!多年的neter估计也有很多不知道的! 有.net ...

  4. 零基础学Java第四节(字符串相关类)

    本篇文章是<零基础学Java>专栏的第四篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! String 本文章首发于公众号[编程攻略] 在Java中,我们经 ...

  5. .net基础学java系列(六)Java基础

    一.废话 .net学java为何一直没入坑?其实大家都知道,语法很相似,就是使用的习惯不同 稍微的语法差异 结构体系不同 IDE不同 类库集不同 各种框架不同 对于我来说,我一直被第三道坎拦住了,所以 ...

  6. .net基础学java系列(一)视野

    本文目的在于扩展你我视野,求各位大神帮忙补充下表格中的内容,特别是Java的相关内容. 下面的文字纯是为了凑足150个字. 本人作为一名普通的.net程序员,也快混了十年了.在.net方面的知识面较广 ...

  7. 辛巴学院-Unity-剑英陪你零基础学c#系列(四)函数和封装

    辛巴学院:正大光明的不务正业. 国庆长假结束了,我的心情是这样的: 你总是起不早,起不早独自一个人沉睡到天亮你无怨无悔的梦着那副本我知道你根本就不想上班你总是起不早,起不早放假总是短暂,上班太难请个病 ...

  8. .net基础学java系列(八)SpringBoot

    嘟嘟独立博客 Spring-Boot干货系列 http://tengj.top/categories/Spring-Boot干货系列/ 龙码精神 Java Spring Boot VS .NetCor ...

  9. .net基础学java系列(五)慢性自杀 之 沉沦在IDE中

    最近在慢学习IDEA,总是喜欢与Visual Studio! 其实,对于Visual Studio,它的官方(https://docs.microsoft.com/zh-cn/visualstudio ...

随机推荐

  1. zabbix SNMP OID列表

    系统参数(1.3.6.1.2.1.1) OID 描述 备注 请求方式 .1.3.6.1.2.1.1.1.0 获取系统基本信息 SysDesc GET .1.3.6.1.2.1.1.3.0 监控时间 s ...

  2. 【BZOJ4000】[TJOI2015]棋盘(矩阵快速幂,动态规划)

    [BZOJ4000][TJOI2015]棋盘(矩阵快速幂,动态规划) 题面 BZOJ 洛谷 题解 发现所有的东西都是从\(0\)开始编号的,所以状压只需要压一行就行了. 然后就可以随意矩乘了. #in ...

  3. 【dp】摘花生

    [题目描述] Hello Kitty想摘点花生送给她喜欢的米老鼠.她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来.地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经 ...

  4. React学习笔记(一)- 入门笔记

    React入门指南 作者:狐狸家的鱼 本文链接:React学习笔记 GitHub:sueRimn 1.组件内部状态state的修改 修改组件的每个状态,组件的render()方法都会再次运行.这样就可 ...

  5. sharding-jdbc学习

    sharding-jdbc的全局id生成策略是通过雪花算法来实现的. sharding-jdbc也是一个数据的中间件,可实现读写分离和分库分表,比mycat要简单些. nginx与ribbon实现负载 ...

  6. @NotNull @NotEmpty @NotBlank区别

    @interface NotNull The annotated element must not be {@code null}.Accepts any type.----------------- ...

  7. Django mysql应用

    环境:python3.Django2 1.安装驱动mysqlclient pip3 install mysqlclient 2.创建一个数据库 CREATE DATABASE database_nam ...

  8. 计算机网络Web应用层与运输层(HTTP/TCP)

    应用层协议原理 Web和HTTP DNS:英特网的目录服务 运输层 面向连接的运输:TCP及拥塞原理 一.应用层协议原理 DNS域名解析: (用例:www.baidu.com)域名解析是网络请求的第一 ...

  9. 第十一节:WebApi的版本管理的几种方式

    一. 背景和方案 1. 多版本管理的概念 Android .IOS等 App 存在着多版本客户端共存的问题:App 最新版已经升级到了5.0 了,但是有的用户手机上还运行着 4.8.3.9 甚至2.2 ...

  10. js时间戳转日期

    //时间戳转日期 2017-04-30 13:20 //type=1--> 2017-04-30 13:20 //type=2-->2018年08月 //type=3-->2018- ...