1、更新不需要权限的项目A,却提示没有权限。
先从Git上更新项目A的代码,提示没有权限。
然后从Git上更新其它项目B的代码,正常。
再更新项目A的代码,正常了。
奇葩问题!
2、Eclipse中,把编辑器和文件进行关联,内容展示更加友好。
网上找到了2种比较类似的方式:
方式1:
Eclipse->Window->Preference->General->Editors->File Associations.
新增*.vm文件,关联编辑器为“HtmlEditor”。
这种方法有个小问题,每打开1个vm文件,就出现一个对话框,太烦人了。
associate file name with the ‘HTML’ content type and retry.
方式2:
Eclipse->Window->Preference->General->Content Types->HTML。
新增文件类型,*.vm。
这种方式,很好,没有多余的对话框提示。
3、Spring属性文件扫描,找不到变量,比如${address}。
其它同事电脑,同样的代码,就没有任何问题。
解决这个问题,在2个方向纠结。
第1种方向,既然属性文件找不到,可能就是.properties没有正确扫描到。
不断尝试这种代码,不断调整模式,不断调整变量的位置,最终解决了。
但是由于会改动xml文件,没有提交。
<context:property-placeholder location="classpath:*.properties" ignore-unresolvable="true" />
第2种方向,优化Eclipse环境。
JDK1.6,JDK1.8,Eclipse版本,在不断的折腾中,最后跑通了。
JDK1.8解压版,Eclipse Neno。
奇葩问题!
4、Javassist版本冲突。
项目用到了内部的服务框架JSF,如果JDK用的是1.8版本,Javassist需要3.19.0-GA。
而其它相关库,只需要Javassist3.12.0版本。
第1种解决办法是,降低JDK版本,安装的JDK用的是1.8,但是项目环境用1.6。
用1.6版本,可以用JDK1.8的兼容版Javase1.6/JDK1.8,也可以直接用纯粹的JDK1.6。
这个时候,我们发现,JDK用解压版就很方便了,与Tomcat和Eclipise的解压版类似,真是绿色环保呀。
第2种解决版本是,配置Javassist高版本的。
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.19.0-GA</version>
</dependency>
最开始,并不知道是Javassist版本冲突,是看控制台的错误堆栈,发现和JSF有关系,然后去看JSF的文档,同时也咨询了下开发维护JSF的相关同事。
5、Jetty运行项目,部分页面提示找不到json的类。
同事同样的环境和代码,是可以的。
检查classpath下和target目录下,lib包都是齐全的。
查看Console控制台,发现打印出来的jar包确实没有,可能是这个导致的,幕后原因未知。
解决办法1:
用Tomcat作为容易运行,一次性Ok。
解决办法2:
用另外一个Jetty插件Run-Jetty-Run1.3.4,一次性OK。
Eclipse Jetty 3.9.0有点小问题。(没能从正面解决这个问题,避之,逃之,o(︶︿︶)o )
解决办法3:pom.xml手动配置,json-lib的库,但是,还是不行哟。
------------------------------------------------------------------------
除了上面的5个重大问题,再总结下经验。
1、解压版,绿色环保,很好。
JDK1.6到JDK1.8、Tomcat、Eclipse等。
2、不少问题,和项目环境有很大关系。
限于能力,搞不清根本原因,只能避开它。
3、同一个问题,存在多种解决方案。
比如第5个问题,json类找不到,可能确实么有,也可能是jar包损坏,还可能是环境问题。
运行容器,Tomcat、2个Jetty,都值得尝试下。

2016年JD工作遇到的问题:1-5,搭建环境和熟悉项目过程中的坑的更多相关文章

  1. 2016年JD工作遇到的问题:6-15,日常小问题

    6.eclipse通过类名,找到所在的jar包. 解决办法:选中class, 快捷键 Ctrl +Shift+ T!!然后-- 之前经常是,根据类名找到对应的源文件,大脑短路,忘了下面的jar包提示. ...

  2. 【2016美团】浏览器和服务器在基于https进行请求链接到数据传输过程中,用到了如下哪些技术

    A.非对称加密技术 B.对称加密技术 C.散列(哈希)算法 D.数字证书 答案:ABCD HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数 ...

  3. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

  4. How Javascript works (Javascript工作原理) (二) 引擎,运行时,如何在 V8 引擎中书写最优代码的 5 条小技巧

    个人总结: 一个Javascript引擎由一个标准解释程序,或者即时编译器来实现. 解释器(Interpreter): 解释一行,执行一行. 编译器(Compiler): 全部编译成机器码,统一执行. ...

  5. 《浏览器工作原理与实践》<10>作用域链和闭包 :代码中出现相同的变量,JavaScript引擎是如何选择的?

    在上一篇文章中我们讲到了什么是作用域,以及 ES6 是如何通过变量环境和词法环境来同时支持变量提升和块级作用域,在最后我们也提到了如何通过词法环境和变量环境来查找变量,这其中就涉及到作用域链的概念. ...

  6. 之前工作过程中自定义的代码生成器模版,codesimit

    动软代码生成器 和codesmith 5年前的东西,或许有些过时 动软的功能有限,改的也比较简单,已弃. codesmith可定制性强,当时自已改的,提高了团队的整体工作效率. codesmith代码 ...

  7. 工作笔记3.手把手教你搭建SSH(struts2+hibernate+spring)环境

    上文中我们介绍<工作笔记2.软件开发经常使用工具> 从今天開始本文将教大家怎样进行开发?本文以搭建SSH(struts2+hibernate+spring)框架为例,共分为3步: 1)3个 ...

  8. STM32在程序运行过程中关闭定时器重新打开后定时器不工作的问题

    问题:数码管显示程序放在定时TIM2中断函数里面扫描,想要实现在关闭某一功能的时候数码管不显示. 刚开始的想法是开关关闭,关闭定时器时钟:开关打开,打开定时器时钟:(但实验证明再次打开开关时定时器2却 ...

  9. 第一次工作->笔记:在phpstrom2019上搭建phpunit单元测试环境,php环境使用docker

    前言:公司大佬让我开发一个工具,并合并到他的工具包中,使用的是github 说明:这里的php环境使用的是laradock.感兴趣的道友自行查找. 工具:php.phpstrom.phpunit.do ...

随机推荐

  1. Android开发学习之TabView选项卡具体解释 -- 基于Android4.4

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/he90227/article/details/24474197 直接上代码 -- 基于Android ...

  2. python:生产者与消费者模型

    1,生产者与消费者模型的矛盾在于数据供需的不平衡 import time import random from multiprocessing import Queue from multiproce ...

  3. Softmax实现 fashion.mnist 分类

    softmax #!/usr/bin/env python # coding: utf-8 # In[1]: get_ipython().run_line_magic('matplotlib', 'i ...

  4. PHP设计模式——装饰器模式

    <?php /** * 装饰器模式 * 如果已有对象的部分内容或功能发生变化,但是不需要修改原始对象的结构,应使用装饰器模式 * * 为了在不修改对象结构的前提下对现有对象的内容或功能稍加修改, ...

  5. 生成二维码、微信自定义分享到朋友圈、ipa不从应用商店安装

    生成二维码网址:http://www.liantu.com/ 微信自定义分享到朋友圈:http://www.cnblogs.com/memor-y/p/6728179.html ipa不从应用商店安装 ...

  6. 学习Node.js知识小结

    什么是Node.js 官方解释:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js使用了一个事件驱动.非阻塞式I/O的模型( Node.js的特性 ...

  7. react(三):容器组件和傻瓜组件

    让一个组件只专注于一件事,如果发现让一个组件做的事情太多,就可以把这个组件拆分成多个组件让每一个组件只专注于一件事 <深入浅出react和redux> ---程墨 一个react组件最基本 ...

  8. 路由器基本配置实验,静态路由和动态RIP路由

    实验涉及命令以及知识补充 连线 PC和交换机FastEtherNet接口 交换机和路由器FastEtherNet接口 路由器和路由器Serial接口 serial是串行口,一般用于连接设备,不能连接电 ...

  9. Linux/Mac scp命令笔记

    scp命令用于Linux之间复制文件和目录. 参数说明: -1: 强制scp命令使用协议ssh1-2: 强制scp命令使用协议ssh2-4: 强制scp命令只使用IPv4寻址-6: 强制scp命令只使 ...

  10. oracle远程导出/导入

    创建db_link,远程导出/导入.expdp/impdp Oracle数据库本地磁盘空间有限,或应用系统的需要,会通过远程的方式导出数据库.在oracle当中,exp远程导库的速度太慢,而expdp ...