derby 使用

很早之前用过derby当时觉得编辑数据很麻烦,现在又要用,忘记光了,重新来过。

可使用eclipse 的db开发视图(data source exploer)来创建一个数据库。加载驱动后包,使用org.apache.derby.jdbc.EmbeddedDriver,connection url中加create=true  即可创建一个数据库。

但是此时图不好创建表,那么可以配合myeclipse中的jdbc插件来建立连接来创建表和执行sql。

嵌入式方式是独占式的,谁建立的连接就把文件给锁了。myeclipse打开连接后需要推出myeclipse并删除derby目录下的db.lck才能让别的程序使用此derby。

Continue reading derby 使用

org.hibernate.MappingException: Unknown entity, 测试出的问题

今天hibernate黑了我一把, 将之前的hibernate工程拷贝建另一个工程,这回加个测试类,首先写几个测试怎删改查。

结果merge成功,findById, findAll,findByExample报错:

org.hibernate.MappingException: Unknown entity

确认不是配置错误,因为插入成功了。

试了半天搞不定,看之前的工程,没有测试类,心想是否测试类加载的问题?但是怎么merge可以呢?

后来试试直接运行程序,奇迹发生了,运行得好好的。

看来是测试环境造成的原因。我用的狗屎maven,估计又是这个造成的。

后来发现有个包common.collections有冲突,解决此问题后,发现findall可以,findById, findByExample仍然不行。看来还和包冲突有关。

最后只好源码跟踪,发现问题:

 

findById中

getSession().get(ENTITY_NAME, id)

ENTITY_NAME应该是类全名(含包名),而我的代码里却是类短名(不含包名)。

而hsql中应该是类短名。

这是myeclipse中自动生成的,想起来生成向导时没有写包名,导致如此。

放弃了,真BT的问题。花了我一下午。

Continue reading org.hibernate.MappingException: Unknown entity, 测试出的问题

eclipse 打开文件所在目录

首先这个功能myeclipse自带有。但是myeclipse6.0太落伍了,之后的版本又太慢了。

点击一个文件,想定位到文件所在文件夹,有个插件

EasyExplorer 从 http://sourceforge.net/projects/easystruts

另外一种方法是:

Run–>External Tools–>Open External Tools Dialog…

new 一个 program

location 里面填 :C:\WINDOWS\explorer.exe

Arguments 里面填: ${container_loc}

在common tab页中Allocate Console选项去掉,以免每次打开还开个控制台。

本人忘性大,本文烂笔头类型,勿拍!

参见:

http://blog.csdn.net/xzknet/article/details/4627713

Continue reading eclipse 打开文件所在目录

spark plugin开发

两年前开发过spark,那时是改源码,当时改的很头疼,感觉它的代码很乱,一个功能的修改需要触动很多地方的代码,这么个基本的归纳结构都没做好。它的plugin设计的不好,我们没法只好改源码。

然而,我发现现在脑子里已完全不记得当时的细节了,哎……, 只能重新来过了。

目前是2.6.3:

主页: http://www.igniterealtime.org/projects/spark/sparkplug-kit.jsp

插件开发手册:http://www.igniterealtime.org/builds/sparkplug_kit/docs/latest/sparkplug_dev_guide.html

源码: http://www.igniterealtime.org/downloads/source.jsp 

其中spark源码: 

Spark:
svn co http://svn.igniterealtime.org/svn/repos/spark/trunk spark

之前的版本可以这样获得:http://svn.igniterealtime.org/svn/repos/spark/tags/spark_2_6_0

现在可以直接在Eclipse中开发插件而不需要发布到spark中,它提供的sparkplugkit提供调试环境。

To setup a project to run Spark within your IDE, you will need to the following:

  • It is required that you use the 1.4 JRE to build Spark.
  • Add all *.jar files in the Sparkplugs/spark/lib and Sparkplugs/spark/lib/windows directories to your classpath.
  • Add the resource directory (Sparkplugins/spark/resource) to your classpath for the native libraries.
  • Main Class - org.jivesoftware.Spark
  • VM Parameters - -Dplugin=path_to_your_plugin.xml file. This allows you to run your plugins within your IDE without deploying.
  • That's it.

建好工程后引用Sparkplugs/spark/lib and Sparkplugs/spark/lib/windows 里面的所有jar包。

还要添加Sparkplugins/spark/resource中的资源。

启动类是org.jivesoftware.Spark

需要添加vm参数 -Dplugin=path_to_your_plugin.xml

我下载其example,运行不起来,报错:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at org.jivesoftware.LoginDialog$ImagePanel.getPreferredSize(LoginDialog.java:815)

网上查不到原因,即使是官方论坛也没人回答,最后我用了一天时间从它的svn上用比蜗牛还慢的速度下了下来,从它的源码里面终于跑了起来。它的引用包在源码的build\lib中,带着一堆报错,终于看到登陆界面了。

另外一个问题是,没有找到哪里下载之前版本的sparkplug_kit, 这样如果代码是依赖之前的spark api,那就悲剧了,你不能用最新的sparkplug_kit来写plugin。

我真不知道这样的更新方式怎么用得起来!而且我是依赖2.6.0的api,到2.6.3就改的一塌糊涂,这TM还叫api吗?

Continue reading spark plugin开发

【链】自适应网页设计(Responsive Web Design)

http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html

文章翻译的是http://www.alistapart.com/articles/responsive-web-design/

有几个值得看的地方:

不同页面大小的展示工具 http://www.benjaminkeen.com/misc/bricss/

可以自定义大小,然后将其加为书签,使用时先打开测试页面,再点击保存好的书签,则会在新开的页面中以不同大小的iframe显示。

允许网页宽度自动调整

有网友的回应与我观点相同,这样做只适合简洁的页面,复杂的你可能做不出来兼顾的方案。考虑成本技术问题,还是“为不同的设备提供不同的网页”这样的方式靠谱一些。

不能普遍适用,百度首页、新浪首页等等这些主页,怎样能做到即保证信息量,又做到排布合理?
不仅要考虑实现成本,还要考虑显示、交互效果。
还是“为不同的设备提供不同的网页”这样的方式靠谱一些。

 

不适合信息量非常大的网站,个人认为不实用性有以下几条:
1.无法保证跨浏览器兼容性问题。
2.设计图的高保真还原,布局方式,排版方式,以及页面的交互
3.相对而言与其他布局方式的实现,有一定的门槛。制作成本相对较高。
只是个人愚见..

Continue reading 【链】自适应网页设计(Responsive Web Design)

join.me 好用的屏幕共享工具

https://join.me/

这个网站提供快捷的屏幕共享工具,共享方需要下载它的软件,运行共享,会生成一个http链接,通过这个链接就可以直接从浏览器里看到分享的屏幕了。很方便吧,特别适合临时共享的情况,不需要装什么live meeting。

它的收费版还提供语音通话,远程控制等功能(免费版也提供)。

看了一下web实现,使用flash做的。

Continue reading join.me 好用的屏幕共享工具

Pagination


Total views.

© 2013 - 2020. All rights reserved.

Powered by Hydejack v6.6.1