Maven 3
Felix 4
Eclipse
(1)下载maven,解压到D盘
(2)在系统变量中添加M2_HOME D:\apache-maven-3.0.4;在系统变量的path中添加
%M2_HOME%\bin注意用英文分号隔开
(3)在cmd下输入mvn -version测试是否安装成功
) 启动eclipse,如图所示选择install new software…
(2) 点击 Add 按钮 按以下步骤安装:
1 . 安装 Subclipse
要安装Subclipse,使用下面的Eclipse插件更新站点。
Subclipse 1.2: http://subclipse.tigris.org/update_1.2.x
想要了解其它版本的Subclipse,以及关于Subclipse插件更多的信息,请访问Subclipse项目的web站点:http://subclipse.tigris.org/ 。
2. 安装 Mylyn
要安装集成了JIRA支持的Mylyn,添加Mylyn Extras的Eclipse更新URL,如果你的组织使用Atlassian's JIRA 来跟踪问题,你会需要这么做。使用下面的更新站点来安装Mylyn:
Mylyn (Eclipse 3.3): http://download.eclipse.org/tools/mylyn/update/e3.3
Mylyn (Eclipse 3.4): http://download.eclipse.org/tools/mylyn/update/e3.4
Mylyn Extras (JIRA 支持): http://download.eclipse.org/tools/mylyn/update/extras
想了解关于Mylyn项目的更多信息,访问Mylyn项目的web站点:http://www.eclipse.org/mylyn/ 。
3. 安装 AspectJ Tools Platform (AJDT)
如果你正在安装m2eclipse的0.9.4版本,你可能同时也想要安装Web Tools Platform (WTP) 和 AspectJ Development Tools (AJDT)。使用如下的eclipse更新URL以安装AJDT。
AJDT (Eclipse 3.3): http://download.eclipse.org/tools/ajdt/33/update
AJDT (Eclipse 3.4): http://download.eclipse.org/tools/ajdt/34/dev/update
想要了解更多的关于AJDT项目的信息,请访问AJDT项目的web站点http://www.eclipse.org/ajdt/ 。
4. 安装 Web Tools Platform (WTP)
要安装Web Tools Platform (WTP)。使用如下的eclipse更新URL,或者直接在Discovery站点中寻找Web Tool Project,该站点应该已经在你的Eclipse远程更新站点列表中了。
WTP: http://download.eclipse.org/webtools/updates/
关于更多的Web Tools Platform的信息,请访问Web Tools Platform项目的web站点http://www.eclipse.org/webtools/ 。
5 安装 m2eclipse
一旦你已经安装好这些先决条件,你从如下的Eclipse更新URL安装m2eclipse插件和m2eclipse-extras:
m2eclipse 插件: http://m2eclipse.sonatype.org/update/
m2eclipse-extras : http://m2eclipse.sonatype.org/sites/m2e-extras
最后 maven要用jdk,作用maven时要指定jdk;
在重启eclipse之前,更改eclipse.ini,在–vmargs前面(一定要在其前面)加上:
-vm
D:\Java\jdk1.6.0_07\bin\javaw.exe //改为你自己的jdk目录
否则会在启动eclipse时报错
至此maven在eclipse按的安装就算完成了。
最好不要使用m2ecplise使用内嵌的Maven:
Windows- Preferences-Maven-Installation, 单击Add...按钮,然后选择Maven安装目录M2_HOME,添加完毕后选择这个外部的Maven。
(1)在File菜单下选择New>Project…, 选择Maven Project 点击next
(2)选择Create a simple project ,点击next
(3)在设置页面输入工程信息,如图,完成后点击finish。
(4) 生成maven工程,如图所示,其中,src/main/java目录放置java源文件,src/main/resources放置其他资源文件(如css,js,html,jsp文件),target目录放置运行mvn install命令后生成的文件。
project : pom.xml 文件中的顶层元素;
modelVersion : 指明 POM 使用的对象模型的版本。这个值很少改动。
groupId : 指明创建项目的组织或者小组的唯一标识。 GroupId 是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如, org.apache.maven.plugins 是所有 Maven 插件项目指定的 groupId 。
artifactId : 指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个 JAR 文件。第二,象源代码包通常使用 artifactId 作为最后名称的一部分。典型的产品名称使用这个格式: <artifactId>- <version>. <extension>( 比如: myapp-1.0.jar) 。
version : 项目产品的版本号。 Maven 帮助你管理版本,可以经常看到 SNAPSHOT 这个版本,表明项目处于开发阶段。
name : 项目的显示名称,通常用于 maven 产生的文档中。
url : 指定项目站点,通常用于 maven 产生的文档中。
description : 描述此项目,通常用于 maven 产生的文档中。
dependencies :
plugins
Export-Package
repository
maven-bundle-plugin:
iPOJO Plugin:
junit4osgi Plugin:
SCR Plugin:
Major.minor.patch level
(1) 第一次发布 1.0.0
(2) 修复bug,但不涉及修改接口 ,由1.0.0->1.0.1
(3) 在接口中增加了函数,修改minor,由1.0.1->1.1.1,此种变更不影响之前的依赖关系,因此在之前依赖1.0.1版本的bundle不需要修改。
(4) 若变更无法向上兼容,如删除函数,修改函数返回类型等,修改major号,由1.1.1-2.0.0
1,将bundle 打包
命令行:mvn package
Ecplise: run as->Maven package
2,将bundle install到本地依赖库(便于自己测试)
命令行:mvn install
Eclipse: run as->Maven install
3,将bundle 发布到远程bundle库中(本地测试成功,发布到服务器上进行测试)
命令行:mvn deploy
Eclipse:目前无。
。
(1) 刷新OBR库:repos refresh file:///path/repository.xml
(2) 通过update id命令更新对应的组件
getService() 来查找依赖的 service
ServiceListener
缺点:
优点:
meta.xml文件说明:
component:
provides:
requires:
instance:
通过iPOJO管理组件实例的生命周期和环境动态
对服务注册
服务是组件服务接口函数的具体实现
申明函数接口组件(API):一般只包括JAVA接口定义和常量,打包成jar并放在OBR库中
组件功能实现及服务发布(Impl):包含实现函数,包含iPOJO配置文件meta.xml,通过component 发布服务。
4.8.1部署本地日志服务
Deploy –s "Apache Felix Log Service"
使用log指令监控bundle生命周期
4.8.2日志监控及写入
通过LogListener接口来读取log信息
public class LogWriter implements LogListener
{
// Invoked by the log service implementation for each log entry
public void logged(LogEntry entry)
{
System.out.println(entry.getMessage());
}
}
Debug的方法有如下三种:
3,右键felix项目 选择debug as-> java application 如图所示
当运行到断点处的时候,eclpise会自动进入如下debug界面
为了便于协同开发,我们将在本地搭建一个maven私服,felix服务器,svn。
Maven私服搭建
一、安装服务器
1 、下载
我们可以在 nexus 的官网 上找到它的相关介绍,下载地址是: http://nexus.sonatype.org/downloads/ ,在这里可以找到最新的版本,如果需要以前的版本,在官网上应该也可以找到下载地址。我下载的是: nexus-oss-webapp-1.8.0-bundle.tar.gz 。关于 Nexus 的详细使用方法可以参照: Repository Management with Nexus.
2 、安装
解压下载的文件:
# tar xzvf nexus-oss-webapp-1.8.0-bundle.tar.gz
解压后会在同级目录中,出现两个文件夹: nexus-oss-webapp-1.8.0 和 sonatype-work ,前者包含了 nexus 的运行环境和应用程序,后者包含了你自己的配置和数据。
3 、启动 nexus
在上面的提到, nexus 的运行环境在 nexus-oss-webapp-1.8.0 目录,下面就进入这个目录启动:
# cd nexus-oss-webapp-1.8.0/bin/jsw/linux-x86-64/
在这个目录下包含了一个文件夹和三个文件: lib 、 nexus 、 platform 和 wrapper ,其中 nexus 就是启动命令。
# ./nexus
执行上面的命令,可以得到 nexus 命令的用法提示: start 命令启动, stop 命令停止。下面启动 nexus :
# ./nexus start
Starting Nexus OSS...
Started Nexus OSS
从控制台输出可以看到 Nexus 已经启动成功,我们可以通过 log 文件查看更详细的信息:
# cd ~/nexus-oss-webapp-1.8.0/log
# tail -f wrapper.log
在 log 中可以看到 nexus 默认监听的端口是 8081 。那么我们就可以在浏览器中访问 :http://host:8081/nexus ,
二、配置 Nexus
由于在新搭建的 nexus 环境中只是一个空的仓库,所以第一步就是要和远程的 Maven 中心仓库进行同步。
如果在 Reindex 之后,并没有同步到远程的仓库,可以检查每个仓库的设置。下面是 Maven Central 的设置:
三、在项目中使用私服
在完成了上面的配置后,就可以将项目中默认的 Repository 切换为本地的私服了,只需要在 pom.xml 中增加 repositories 就可以了:
[xhtml] view plain copy print ?