上回说到,天上掉下个林妹妹,错了,是任务。
是老三说的不能不用maven。
spring dm的准备步骤如下:
1、去springsource下载最新的spring dm包,我们用的是1.2的,将里面dest目录下的除去XXsource.jar之外的jar拷贝到一个目录下面,比如:r:/dm;对我们的应用来说,好几个不需要,最终确定的jar是:
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.slf4j.api-1.5.0.jar
com.springsource.slf4j.log4j-1.5.0.jar
com.springsource.slf4j.org.apache.commons.logging-1.5.0.jar
log4j.osgi-1.2.15-SNAPSHOT.jar
spring-aop-2.5.6.jar
spring-beans-2.5.6.jar
spring-context-2.5.6.jar
spring-core-2.5.6.jar
spring-osgi-core-1.2.0-rc1.jar
spring-osgi-extender-1.2.0-rc1.jar
spring-osgi-io-1.2.0-rc1.jar
以上的jar一个也不能少,这里有一个陷阱,一开始我们以为spring-osgi-annotation-1.2.0-rc1.jar也需要,但是千万别加(后面解释)。
2、在一个空的workspace中,import -> plug-ins and fragments,选择r:/dm,将全部的jar都选择过去,完事之后,发现workspace下面12个工程,(如果你增加了spring-osgi-annotation-1.2.0-rc1.jar,那么extender和他就循环引用了,俩大红叉子);
好了,准备工作完成了。
下面新建一个工程,比如叫bundle.probe.file,新建的是maven工程啊,可不是plugins的工程。
补充一下:
我们统一用的是eclipse 3.5带有wtp的版本,预安装了:spring IDE、m2eclipse、mylyn。
接着说。
工程建完了,先删除自动创建的APP.java和test下面的APP.java,否则生成bundle的时候会有问题(往往会忽略test下面的app.xml,别忘了就是了)。
在工程上鼠标右键pde tools -> convert to plug-ins project,这样一来,就将这个maven项目变成plugins的项目了。
然后再右键,spring tools -> add spring project nature,增加spring支持。
最后,在项目的META-INF目录下新建一个folder:spring,然后右键build path -> add to source path,随后在这个目录下建立一个spring的配置文件,如file_config.xml
好,大功告成,既能够使用spring管理jar的本事,又能够和spring Dm联合使用了。
偶,忘了一件事情,eclipse比较傻,虽然有pom.xml配置了各个jar的dependency,但是在给bundle配置classpath的时候,不认识工程目录之外的其他路径,但是,你所有的jar都在.m2目录下面啊,所以,只能新建一个lib目录,然后把用到的jar生生拷贝到lib里面,这样做费时费力,老三找到一个maven的插件,可以把项目中引用的jar拷贝到指定目录下,如下:
<plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>true</stripVersion> </configuration> </plugin> </plugins>
顺便说一下,
maven-compiler-plugin
最好也加上,以免maven在自动测试的时候胡搞瞎搞。
附件是1.2版本下的用到的jar