Intellij IDEA为Maven私有仓库与Resin搭建集成开发环境

开头先用图示的方式介绍一下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的集成开发环境全部完成 🙂

发表评论