mina maven placement

    Download the source code of mima, its project adopts maven, and you can also organize your own new projects according to this project structure,
first of all, mina's project master pom.xml

<parent>
    <groupId>org.apache</groupId>
    <artifactId> apache</artifactId>
    <version>11</version>
</parent>
because it belongs to apache, so it is written like this, if the company is
<parent>
    <groupId>com.tobe</groupId>
    <artifactId>tobe</artifactId>
    < version>1</version>
</parent>

//maven version
<prerequisites>
    <maven>3.0.0</maven>
  </prerequisites>

//organization information
<organization>
    <name>Apache MINA Project</name>
    < url>http://mina.apache.org/</url>
</organization>

//Main project information
<groupId>org.apache.mina</groupId>
  <version>2.0.7</version>
  <artifactId>mina-parent</artifactId>
  <name>Apache MINA</name>
  <packaging>pom</packaging>

//bug管理
  <issueManagement>
    <system>jira</system>
    <url>http://issues.apache.org/jira/browse/DIRMINA</url>
  </issueManagement>

//版本控制
<scm>
    <connection>scm:svn:https://svn.apache.org/repos/asf/mina/mina/tags/2.0.7</connection>
    <url>scm:svn:https://svn.apache.org/repos/asf/mina/mina/tags/2.0.7</url>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/mina/mina/tags/2.0.7</developerConnection> //Remote repository published by components
  </scm>


<distributionManagement>
    <site>
      <id>apache.websites</id>
      <url>scp://people.apache.org/www/mina.apache.org/report/trunk/</url>
    </site>
  </distributionManagement>

//子模块
<modules>
    <module>mina-legal</module>
    <module>mina-core</module>
    <module>mina-transport-apr</module>
    <module>mina-filter-compression</module>
    <module>mina-statemachine</module>
    <module>mina-integration-beans</module>
    <module>mina-integration-xbean</module>
    <module>mina-integration-ognl</module>
    <module>mina-integration-jmx</module>
    <module>mina-example</module>
    <module>mina-http</module>
  </modules>

//jar依赖版本属性
<!-- Jars -->
    <version.commons.lang>2.6</version.commons.lang>
    <version.easymock>2.5.2</version.easymock>
    <version.easymockclassextension>2.5.2</version.easymockclassextension>
    <version.jboss.javassist>3.7.ga</version.jboss.javassist>
    <version.jdom>1.0</version.jdom>
    <version.jmock>1.2.0</version.jmock>
    <version.junit>4.10</version.junit>
    <version.jzlib>1.1.1</version.jzlib>
    <version.log4j>1.2.17</version.log4j>
    <version.ognl>3.0.5</version.ognl>
    <version.pmd>4.3</version.pmd>
    <version.rmock>2.0.2</version.rmock>
    <version.slf4j.api>1.6.6</version.slf4j.api>
    <version.slf4j.log4j12>1.6.6</version.slf4j.log4j12>
    <version.slf4j.jcl.over.slf4j>1.6.6 </version.slf4j.jcl.over.slf4j>
    <version.springframework>2.5.6.SEC03</version.springframework>
    <version.tomcat.apr>5.5.23</version.tomcat.apr>
    <version.xbean .spring>3.11.1</version.xbean.spring>
  </properties>


//Writing like this, there is no need to write the version number in the submodule, modify the version number, and do not need to modify the submodules one by one
<dependencyManagement >
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymockclassextension</artifactId>
        <version>${version. easymockclassextension}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.agical.rmock</groupId>
        <artifactId>rmock</artifactId>
        <version>${version.rmock}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

<dependencies>
    <!-- common logging interface -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
</dependencies>

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326563014&siteId=291194637