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,都值得尝试下。