|
linux中的运行环境:
- java 1.4.2_10 jdk
- mysql Ver 14.12 Distrib 5.0.18, for pc-linux-gnu (i686)
- jakarta-tomcat 5.0.28
- turbine.version = 2.3.1
- maven-torque-plugin-3.1.1.jar
- maven-eclipse-plugin-1.9.jar
移植前把linux中的maven/tomcat/自己的项目/用户目录中的.maven 均下载到windows的PC上。
windows 运行环境:WINDOWS XP系统在C:盘, 用户为Administrator
以下安装建议均安装到非系统盘,以免重装系统丢失配置。并且应该安装与原系统近似的版本,以免出错。
- 到sun.com 下载 java 1.4.2_13 sdk 并安装, 设置好JAVA_HOME=D:\j2sdk1.4.2_13\bin系统变量(在我的电脑->属性->高级->环境变量 中增加)
- 安装mysql 5.0.18,配置好与原项目要求一样的用户和用户权限。(当然也可以修改在文件build.properties中修改app.database.user,app.database.password
- 安装cygwin (http://cygwin.com/), 这是用DOS模式仿真linux的很好工具。注意:运行cygwin时,根目录就是cygwin, D:盘变为 /cygdrive/d。
- 第一次运行cygwin时, 会在cygwin/home中创建个与你windows用户同名字的目录(如D:\cygwin\home\Administrator), 此便是cygwin模拟的用户目录. 把linux中 登陆环境配置文件 .bashrc 适当修改后复制到cygwin模拟的用户目录D:\cygwin\home\Administrator.
- 直接复制linux 中 tomcat 5.0.28,tomcat是用java开发的,可以多平台运行。为了操作方便,最好复制到cygwin目录中,并且与原来的linux位置和名字一样(提示,使用cygwin时,根目录是D:\cygwin\)。这样便不用修改在build.properties文件中修改maven.appserver.home = ???了。
- 安装maven 1.02, 注意把原linux环境用户目录中.maven的所有文件复制到C:\Documents and Settings\Administrator(Administrator为windows的用户名),同样需要设置MAVEN_HOME指向安装目录,如 D:\Apache\Maven1.2。 把原linux maven plugins目录中的*.jar全部覆盖到windows的maven plugins (后注: maven 其实也可以直接从linux中直接复制过来使用的, 因为maven也是java所写)
- 复制要移植的maven项目到D:\cygwin\home\Administrator(cygwin模拟的用户目录)
- 修改build.properties, 如basedir和上面提到的变量.
- 使用cygwin, 在 maven项目所在位置运行项目重建, 比如还原数据库, 测试重新发布模板/编译发布java serverlet等
- maven 安装时已经有maven-eclipse-plugin-1.9.jar了, 现在所需要的便是在在 maven项目所在位置运行 maven eclispe, 便可以生成eclispe所需要的文件 .classpath 和 .project 了.
生成Eclipse项目
我打赌你一定想在IDE下工作。Maven通过插件来与Eclipse,InelliJ,IDEA,JBuilder,JDeveloper以及Emacs集成。Maven很好的与全部这些工作集成,本实验关注其在Eclipse上的集成,一个开源的IDE。
我该如何做?
这个过程很简单;仅仅执行eclipse插件:
C:\dev\mavenbook\code\genapp\test-application>maven eclipse
build:start:
eclipse:generate-project:
[echo] Creating C:\dev\mavenbook\code\genapp\test-application/.project ...
eclipse:generate-classpath:
[echo] Creating C:\dev\mavenbook\code\genapp\test-application/.classpath ...
[echo] Contains JUnit tests
[echo] Setting compile of src/test to target/test-classesPlugin 'cactus-maven' in project 'Test Application' is not available
[echo] Setting default output directory to target/classeseclipse:
[echo] Now refresh your project in Eclipse (right click on the projectand select "Refresh")
BUILD SUCCESSFULTotal time: 2 seconds
Maven创建两个文件以识别Eclipse的项目:.project和.classpath。在Eclipse中,你就可以通过下面的步骤导入这个工程了:
1.启动Eclipse。
2.从菜单栏选择File→Import...
3.选择现存项目放入Workspace并单击Next按钮。
4.在Import对话框选择C:\dev\mavenbook\code\genapp\test-application目录,并单击Finish按钮。
你稍候将执行更多步来指向Eclipse到本地Maven资源库。Eclipse使用一个名叫MAVEN_REPO来指向到本地Maven资源库。你能通过在命令行执行下面的操作设置MAVEN_REPO来使用Maven:
maven -Dmaven.eclipse.workspace=c:\eclipse\workspace eclipse:add-maven-repo
执行这个目标可以设置位于目录c:\eclipse\workspace的全局变量MAVEN_REPO。
作为选择,你可以按照这些步骤手工配置该变量:
1.从菜单栏中选择Window→打开Eclipse Preferences选择preferences。
2.在树型菜单左手边的Preferences对话框,选择Java→Build Path→Classpath变量。
3.单击New按钮来创建一个新的变量;这可以带入到新变量对话框。
4.输入MAVEN_REPO到Name域。
5.单击Folder按钮选择你本地的Maven资源库(greedwind注: 即是上面提到的C:\Documents and Settings\Administrator\.maven目录(Administrator为windows的用户名))。
6.单击OK并重新构建你的项目。
你可能需要配置MAVEN_REPO仅一次;该变量是全局的它可以与全部Eclipse项目共享。
来源: http://www.wujianrong.com/archives/2006/12/mavenmaven.html
如果使用cygwin作模拟, 其实整个移植过程可以很简单. 就是按照linux中原有的项目目录结构原本不动的复制到cygwin中. 并在windows中使用与linux同样的用户名, 让cygwin模拟整个linux环境, 这样一来, 不需要再修改maven的配置, 大大方便cvs版本控制软件的使用.
题后话, 使用maven是不需要 cygwin 来支持的, 只是为了方便移植. 整个移植过程中, 我走了太多弯路. 最主要的时间是花在maven的repository(依存关系)是默认是保存在用户目录中的.maven中, 而windows的用户目录就是C:\Documents and Settings\Administrator\.maven, 就是上面2次提到的. 这也可修改, 可以在windows中的环境变量定义MAVEN_HOME_LOCAL, 把这MAVEN_HOME_LOCAL 设置为 D:\cygwin\home\Administrator\.maven 便可以了.
走了好多冤枉路, 但这些是做过了才明白的. 最重要的是, 我现在可以用手提电脑来用IDE在本地开发这项目了, 这会方便好多好多 - 因为在此之前, 我是通过internet ssh(可以说是加密的telnet)远程登陆过去工作的, 不能用IDE, 而且速度很慢. 12月的台湾地震断网事件还造成我几乎不能工作.
哈哈, 该笑笑了. 笑着过年去了.
|
|