maven 依赖类文件夹

今天六一,宝宝和大家都节日快乐。

使用maven要添加依赖,必须依赖是maven工程。现在我有个非maven工程怎么办,尝试了直接在build path中引用,结果找不到类,找了一下有没有对应插件,像这样的写法在maven3中又不支持:

		<dependency>
			<groupId>class-folder</groupId>
			<artifactId>class-folder</artifactId>
			<scope>system</scope>
			<systemPath>E:/project/classes</systemPath>
		</dependency>

最后想起老办法,在build path中增加link source指向引用工程的源码文件夹即可。

测试test和run都可以。

 

顺便提一下本地包的依赖写法:

		<dependency>
	      <groupId>xxx</groupId>
	      <artifactId>xxx</artifactId>
	      <version>2.0</version>
	      <scope>system</scope>
	      <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/xxx.jar</systemPath>
	    </dependency>

其中basedir 指代项目根目录,version可随便写,但是必须要。

Continue reading maven 依赖类文件夹

eclipse php编辑设置

以前写java没怎么碰到linux上编码的问题。

而今写用eclipse写php,出现这个问题,别的开发者的代码文件都好好的,就我这个上传的编码格式怪怪的。似乎是utf-8又似乎是ansi。

有的人看是ansi,我自己看vim里面打开文件然后:set fileencoding 看的是utf8。 用notepad++看是ansi,转换成utf-8 without bom。保存后eclipse里面看不出来有改动,然后再用notepad++打开,还是ansi编码。晕了。

我的eclipse里面默认编码是utf-8,linux上运行也没问题,就是别的开发者反应格式与他们的不一样。

后来发现除了encoing,还有换行符不同。

需要在:

Window -> Preferences -> General -> Workspace :
Text file encoding :
Default : 选择此项将设定文件为系统默认的编码格式,后边会有提示具体是什么。
Other   : 选择一个具体的编码格式。
New text file line delimiter :
Default : 选择此项将设定新建的文件换行符为系统默认的换行符。
Other   : 选择一个具体的换行符样式。
换行符分别有:
Windows    : CRLF 0D0A 1310 \r\n (Carriage Return/Line Feed)
Unix/Linux : LF 0A 10 \n
Mac OS     : CR 0D 13 \r
编码格式设定将影响新建的文件和修改保存后的文件。
换行符设定只影响新建的文件,修改后保存将延续文件保存之前的换行符设定。
修改已存在文件的编码格式:
选择文件或文件夹 -> Properties -> Resource -> Text file encoding
修改已存在文件的换行符:
选择文件或文件夹 -> File -> Convert Line Delimiter To

Continue reading eclipse php编辑设置

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)

Pagination


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1