一个综合的分布式项目之项目环境准备

hteg4955 8年前

来自: http://my.oschina.net/shyloveliyi/blog/608130


    统一JDK为1.7

    tomcat端口上下游各为8080和8088,其他服务端口默认

    开发工具eclipse

    版本控制git(为方便公网查看,初期会托管到github)

    其他各项服务暂时不用启动,先创建项目。

    创建maven项目相信看到这的oscer都会,这里就不赘述,主要贴出一些配置文件(限于篇幅随意贴了点,全部的请看github上)。

sustainable-parent

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">   <modelVersion>4.0.0</modelVersion>   <groupId>scc-sustainable</groupId>   <artifactId>sustainable-parent</artifactId>   <version>0.0.1-SNAPSHOT</version>   <packaging>pom</packaging>   <name>sustainable-parent</name>   <description>父项目</description>   <modules>    <module>sustainable-common</module>    <module>sustainable-interactive</module>    <module>sustainable-service</module>   </modules>   <dependencies>    <!-- spring基础 -->    <dependency>     <groupId>org.springframework</groupId>     <artifactId>spring-context</artifactId>     <version>4.2.2.RELEASE</version>    </dependency>    <!-- spring切面 -->    <dependency>     <groupId>org.springframework</groupId>     <artifactId>spring-aspects</artifactId>     <version>4.2.2.RELEASE</version>    </dependency>    <!-- 数据库连接池 -->    <dependency>     <groupId>c3p0</groupId>     <artifactId>c3p0</artifactId>     <version>0.9.1.2</version>    </dependency>    <!-- spring jdbc -->    <dependency>     <groupId>org.springframework</groupId>     <artifactId>spring-jdbc</artifactId>     <version>4.2.2.RELEASE</version>    </dependency>    <!-- mysql驱动 -->    <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>5.1.37</version>    </dependency>    <!-- spring web.xml启动 -->    <dependency>     <groupId>org.springframework</groupId>     <artifactId>spring-web</artifactId>     <version>4.2.2.RELEASE</version>    </dependency>    <!-- spring mvc -->    <dependency>     <groupId>org.springframework</groupId>     <artifactId>spring-webmvc</artifactId>     <version>4.2.2.RELEASE</version>    </dependency>    <!-- log4j -->    <dependency>     <groupId>log4j</groupId>     <artifactId>log4j</artifactId>     <version>1.2.17</version>    </dependency>    <!-- 注解规范javax及验证 -->    <dependency>     <groupId>javax.validation</groupId>     <artifactId>validation-api</artifactId>     <version>1.1.0.Final</version>    </dependency>    <dependency>     <groupId>org.hibernate</groupId>     <artifactId>hibernate-validator</artifactId>     <version>5.2.2.Final</version>    </dependency>    <!-- junit测试 -->    <dependency>     <groupId>junit</groupId>     <artifactId>junit</artifactId>     <version>4.12</version>    </dependency>    <!-- spring工具类 -->    <dependency>     <groupId>commons-lang</groupId>     <artifactId>commons-lang</artifactId>     <version>2.6</version>    </dependency>    <!-- jackson json转换及springmvc支持 -->    <dependency>     <groupId>com.fasterxml.jackson.core</groupId>     <artifactId>jackson-core</artifactId>     <version>2.6.3</version>    </dependency>    <dependency>     <groupId>com.fasterxml.jackson.core</groupId>     <artifactId>jackson-databind</artifactId>     <version>2.6.3</version>    </dependency>    <dependency>     <groupId>org.codehaus.jackson</groupId>     <artifactId>jackson-core-lgpl</artifactId>     <version>1.9.13</version>    </dependency>    <dependency>     <groupId>org.codehaus.jackson</groupId>     <artifactId>jackson-mapper-asl</artifactId>     <version>1.9.13</version>    </dependency>    <dependency>     <groupId>org.codehaus.jackson</groupId>     <artifactId>jackson-core-asl</artifactId>     <version>1.9.13</version>    </dependency>    <dependency>     <groupId>commons-fileupload</groupId>     <artifactId>commons-fileupload</artifactId>     <version>1.3.1</version>    </dependency>    <!-- dubbo -->    <dependency>     <groupId>com.alibaba</groupId>     <artifactId>dubbo</artifactId>     <version>2.5.3</version>     <exclusions>      <exclusion>       <groupId>org.springframework</groupId>       <artifactId>spring</artifactId>      </exclusion>      <exclusion>       <groupId>org.apache.zookeeper</groupId>       <artifactId>zookeeper</artifactId>      </exclusion>      <exclusion>       <groupId>io.netty</groupId>       <artifactId>netty</artifactId>      </exclusion>     </exclusions>    </dependency>    <dependency>     <groupId>com.101tec</groupId>     <artifactId>zkclient</artifactId>     <version>0.7</version>    </dependency>   </dependencies>  </project>

sustainable-common

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>      <groupId>scc-sustainable</groupId>      <artifactId>sustainable-parent</artifactId>      <version>0.0.1-SNAPSHOT</version>    </parent>    <artifactId>sustainable-common</artifactId>    <name>sustainable-common</name>    <description>公共包</description>  </project>

sustainable-interactive

web.xml

<?xml version="1.0" encoding="UTF-8"?>  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns="http://java.sun.com/xml/ns/javaee"   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   id="WebApp_ID" version="2.5">   <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>   </welcome-file-list>   <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   </listener>   <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:spring.xml</param-value>   </context-param>   <filter>    <filter-name>characterEncodingFilter</filter-name>    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>    <init-param>     <param-name>encoding</param-name>     <param-value>UTF-8</param-value>    </init-param>    <init-param>     <param-name>forceEncoding</param-name>     <param-value>true</param-value>    </init-param>   </filter>   <filter-mapping>    <filter-name>characterEncodingFilter</filter-name>    <url-pattern>/*</url-pattern>   </filter-mapping>   <servlet>    <servlet-name>springmvc</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <load-on-startup>1</load-on-startup>    <init-param>     <param-name>contextConfigLocation</param-name>     <param-value>classpath:springmvc.xml</param-value>    </init-param>   </servlet>   <!-- 静态资源过滤-开始 -->   <servlet-mapping>    <servlet-name>springmvc</servlet-name>    <url-pattern>/</url-pattern>   </servlet-mapping>   <servlet-mapping>    <servlet-name>default</servlet-name>    <url-pattern>*.css</url-pattern>   </servlet-mapping>   <!-- 静态资源过滤-结束 -->     <servlet-mapping>    <servlet-name>default</servlet-name>    <url-pattern>*.js</url-pattern>   </servlet-mapping>  </web-app>

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>      <groupId>scc-sustainable</groupId>      <artifactId>sustainable-parent</artifactId>      <version>0.0.1-SNAPSHOT</version>    </parent>    <artifactId>sustainable-interactive</artifactId>    <packaging>war</packaging>    <name>scc-sustainable</name>    <description>上游交互</description>    <dependencies>    <dependency>     <groupId>scc-sustainable</groupId>     <artifactId>sustainable-common</artifactId>     <version>${project.version}</version>    </dependency>   </dependencies>   <build>    <plugins>     <plugin>      <groupId>org.codehaus.mojo</groupId>      <artifactId>tomcat-maven-plugin</artifactId>      <version>1.1</version>      <configuration>       <server>tomcat-6.0.32</server>       <uriEncoding>UTF-8</uriEncoding>       <port>8089</port>       <warSourceDirectory></warSourceDirectory>      </configuration>     </plugin>    </plugins>   </build>  </project>

sustainable-service

web.xml

<?xml version="1.0" encoding="UTF-8"?>  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns="http://java.sun.com/xml/ns/javaee"   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   id="WebApp_ID" version="2.5">   <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   </listener>   <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:spring.xml</param-value>   </context-param>  </web-app>

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>      <groupId>scc-sustainable</groupId>      <artifactId>sustainable-parent</artifactId>      <version>0.0.1-SNAPSHOT</version>    </parent>    <artifactId>sustainable-service</artifactId>    <packaging>war</packaging>    <name>scc-sustainable</name>    <description>下游服务</description>    <dependencies>    <dependency>     <groupId>scc-maven</groupId>     <artifactId>dubbo-common</artifactId>     <version>${project.version}</version>    </dependency>   </dependencies>   <build>    <plugins>     <plugin>      <groupId>org.codehaus.mojo</groupId>      <artifactId>tomcat-maven-plugin</artifactId>      <version>1.1</version>      <configuration>       <server>tomcat-6.0.32</server>       <uriEncoding>UTF-8</uriEncoding>       <port>8088</port>       <warSourceDirectory></warSourceDirectory>      </configuration>     </plugin>    </plugins>   </build>  </project>

以上pom里并没有添加bboss的依赖,因为暂时还没有找到有仓库存在他,所以最后再弄他。

包结构:

github地址:https://github.com/shang7053/base/tree/master/sustainable-parent