开头先用图示的方式介绍一下Maven中央仓库、私有服务器、与本地仓库的关系,如下图:
上面非常直观的解释他们这三者之间的关系,本人就不再详细展开说明,不明白的请自行Google :)
下面直接进入主题,因为项目需要使用Maven中央仓库与私有仓库的jar包并要运行Resin中,同时采用直接部署代码的方式而非用war包的方式部署项目。
下面我详细是一下配置方法:
按照惯例,先介绍一下开发环境版本:
OS:windows 7
IDE:Intellij IDEA 2016.3.4;
Build Automation:Apache Maven 3.2.5;
Server:Resin-3.1.14;
我这里不介绍如何安装Intellij IDEA、Maven、Resin,不会的请自行Google;
(1)配置Maven私有仓库,让Intellij IDEA(以下简称idea)根据Maven全局配置文件自动识别私有仓库地址,并自动下载项目中依赖的jar包;
<profiles> <profile> <!-- profile的唯一标识 --> <id>Test</id> <!-- 远程仓库列表 --> <repositories> <!--包含需要连接到远程仓库的信息 --> <repository> !--远程仓库唯一标识 --> <id>Test</id> <!--远程仓库名称 --> <name>Test-Repository</name> <url>http://url...</url> <!--如何处理远程仓库里发布版本的下载 --> <releases> <!--true或者false表示该仓库是否为下载某种类型构件(发布版,快照版)开启。 --> <enabled>true</enabled> </releases> <!--如何处理远程仓库里快照版本的下载。--> <snapshots <enabled>false</enabled> </snapshots> </repository> </repositories> </profile> </profiles> <!-- 手动激活profiles的列表 --> <activeProfiles> <activeProfile>Test</activeProfile> </activeProfiles>
(2)更新idea中Maven私有仓库中索引
1) 打开idea设置选项,需要修改Maven Home地址与全局配置文件地址,修改好全局配置文件后务必要把后面的“Override”对钩打上,否则其他项目使用的Maven配置文件时无法生效,见下图;
2) 接着进入到“Maven > Repositories”,会看到“Indexed Maven Repositories”中配置的Maven私有地址已经加入到列表中,之后请点击这个私有仓库地址,然后再点击右上角“Update”更新按钮,让idea可以检索这个私有仓库索引目录,见下图;
如果列表中没有发现该私有地址,那么就表示Maven配置文件配置有错误,请继续查看第(1)步“配置Maven私有仓库部分…”修改,如果修改配置文件正确,那么idea会在右小角弹出小气泡窗口,发现可以更新设置文件。点击“Import Changes”,就可以在“Indexed Maven Repositories”发现了,如下图;
还有一种情况比较极端,确认配置文件修改正确,但是idea始终无法更新到,那么请定位到这个项目中,把idea环境配置文件删掉,在项目根目录中“.idea”文件夹和“项目名称.iml”,然后重新打开idea导入项目,正常导入项目完成后,打开idea的Maven配置,就会发现“Indexed Maven Repositories”私有仓库地址加入进去了。最后当然别忘记点击“Ok”保存设置。(如果还是木有,请重复上面步骤,并请同时检查一下自己的人品haha)
(3)配置Resin环境
创建resin配置文件“test.xml”,格式如下:
<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="http://caucho.com/ns/resin/core"> <log name="" level="info" path="stdout:"/> <cluster id=""> <server id="" port="6898"> <http port="此处填写resin端口号"/> </server> <resin:import path="${resin.home}/conf/app-default.xml"/> <host id="" root-directory="."> <!-- 数据库 --> <!-- <database jndi-name="jdbc/..."> <driver type="com.mysql.jdbc.Driver"> <url>jdbc:mysql://127.0.0.1/test</url> <user>test</user> <password>test</password> </driver> </database> --> <!-- 应用根路径配置 --> <web-app id="/" document-directory="项目路径指定到web跟目录" lazy-init="true"/> </host> </cluster> </resin>
在idea中添加resin配置,注意修改resin配置文件地址和Http端口号,如下图:
(4)从Maven仓库中导出jar包到项目中
打开运行,输入cmd打开命名提示符,导出jar包命令格式:mvn dependency:copy-dependencies -DoutputDirectory=导出的项目路径;(第一次输入命名时,Maven会自动下载自身配置中的依赖文件,下载速度快与慢跟本地网络环境有关系,如果有点慢请耐心等待完成)
例如,见下图:
上图中命令:mvn dependency:copy-dependencies -DoutputDirectory=src/main/webapp/WEB-INF/lib
(5)在idea中编译项目并启动resin
见下图:
如上图所示,在启动resin后,如果没有错误提示,表示开发环境已经搭建成功!
至此,在idea中,配置Maven与Resin的集成开发环境全部完成 🙂