前言

首先声明,本次搭建框架使仿照ibase4J的架构进行搭建,结合了自己的一些理解做了一些修改,基本上都是复用ibase4J所采用的框架和代码。开此博客的目的是为了让自己以及大家更了解ibase4J的框架和代码,同时也能增加大家动手能力。博客主要为已经有一些java知识,但是还没有大坚果框架的同学学习,如果水平比较高的可以自行阅读ibase4j的源码。

正文

1.使用工具

1.1.必须安装

JDK1.8,maven 3.0.4,eclipse。

1.2.后期逐步安装

redis,mysql,zookeeper,nginx

2.创建maven项目

2.1项目模块划分

ibase4J的架构将框架分为web控制模块、facade接口模块、service业务逻辑模块以及common模块。因为这里主要讲后端分布式框架,所以这里不涉及前端部分。

  • web控制模块:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。
  • facade接口模块:负责模块间调用参数,返回参数的封装。
  • service业务逻辑模块:处理业务逻辑,对数据库的调用等。
  • common模块:负责公共代码和配置部分。

2.2创建maven项目

jdk和maven的安装配置就不在讲解,网上很多教程,可自行查询。
创建maven主项目,选择new-》maven project 选择创建简单项目,点击下一步。

java分布式项目怎么修改项目名称 java分布式项目搭建_maven

按照提示填写项目信息,注意这里的packaging必须选择pom

java分布式项目怎么修改项目名称 java分布式项目搭建_maven_02

如果在创建项目一直显示99%,建议你拔掉网线再创建项目,至于为什么会这样,大概应该是伟大的墙的原因吧。

删除调项目里面多余的文件和文件夹,保留pom文件即可。
编辑pom文件,在project节点下添加下面这段代码,这段代码的作用是指定maven变异的jdk版本。

<build>
        <finalName>${project.name}</finalName>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>*</include>
                    <include>*/*</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.3</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                        <testIncludes>
                            <testInclude>none</testInclude>
                        </testIncludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jdeps-plugin</artifactId>
                    <version>3.0.0</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>jdkinternals</goal>
                                <goal>test-jdkinternals</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

2.3创建maven模块项目.

web模块,service模块,common模块创建web3.0项目,facade则只需要创建普通java项目即可。

web3.0项目创建。

new-》project-》maven-》maven module,填写模块名称点击下一步

java分布式项目怎么修改项目名称 java分布式项目搭建_java_03

选择webapp,点击下一步,最后完成。

java分布式项目怎么修改项目名称 java分布式项目搭建_xml_04

现在创建完成的是web2.3项目,我们需要将他修改为maven3.0

修改maven母,模块项目下的.setting文件夹下的org.eclipse.wst.common.project.facet.core.xml文件。将jdk版本修改为1.8,web版本修改为3.0。
在eclipse中找到项目项目的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_3_0.xsd"
    version="3.0">

最后右键单击项目,选择maven,单机update project。ok,web3.0模块就完成了。至于jsp的报错,大家自己参考。jsp报错是因为没有jar包,自行把jar包引入或者删除即可。

最后一步就是将maven module项目的pom.xml文件中的groupId 和 version去掉即可消除警告。

注意项目的common模块,pom文件的packaging字段应该修改为jar。如果修改该字段maven update
project过后出现下面警告:

Path Location Type Classpath entry
org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER will not be exported
or published. Runtime ClassNotFoundExceptions may result.

修改base项目的.classpath文件,修改如下

<classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>

到这里我们四个模块项目都已经搭建出来了

代码下载

下一篇我们将使用maven构建多个运行环境,并运行程序。