零零商城之搭建Maven工程

搭好所需的開發(fā)環(huán)境

Eclipse + Maven + Tomcat + Mysql + Nginx + Redis + Git

為什么要用Maven來管理項目呢?

不使用maven:工程部署時需要手動復制jar包沛励。完成工程構(gòu)建甩挫。非常繁瑣贴硫。
使用maven:項目構(gòu)建與依賴管理。Maven最核心的功能是軟件包的依賴管理伊者,能夠自動分析項目所需要的依賴軟件包英遭,并到Maven中心倉庫去下載。A)管理依賴的jar包(大大的減少了項目的大幸嗌)B)管理工程之間的依賴關(guān)系挖诸。

后臺管理系統(tǒng)的工程結(jié)構(gòu)


創(chuàng)建maven工程

創(chuàng)建llmall-parent(做為所有模塊的父工程)

修改pom.xml文件添加依賴

<!-- 集中定義依賴版本號 -->
    <properties>
        <junit.version>4.12</junit.version>
        <spring.version>4.1.3.RELEASE</spring.version>
        <mybatis.version>3.2.8</mybatis.version>
        <mybatis.spring.version>1.2.2</mybatis.spring.version>
        <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
        <mysql.version>5.1.32</mysql.version>
        <slf4j.version>1.6.4</slf4j.version>
        <jackson.version>2.4.2</jackson.version>
        <druid.version>1.0.9</druid.version>
        <httpclient.version>4.3.5</httpclient.version>
        <jstl.version>1.2</jstl.version>
        <servlet-api.version>2.5</servlet-api.version>
        <jsp-api.version>2.0</jsp-api.version>
        <joda-time.version>2.5</joda-time.version>
        <commons-lang3.version>3.3.2</commons-lang3.version>
        <commons-io.version>1.3.2</commons-io.version>
        <commons-net.version>3.3</commons-net.version>
        <pagehelper.version>3.4.2-fix</pagehelper.version>
        <jsqlparser.version>0.9.1</jsqlparser.version>
        <commons-fileupload.version>1.3.1</commons-fileupload.version>
        <jedis.version>2.7.2</jedis.version>
        <solrj.version>4.10.3</solrj.version>
    </properties>
<dependencyManagement>
        <dependencies>
            <!-- 時間操作組件 -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>
            <!-- Apache工具組件 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commons-net.version}</version>
            </dependency>
            <!-- Jackson Json處理工具包 -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!-- httpclient -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <!-- 單元測試 -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <!-- 日志處理 -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- Mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis.spring.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.miemiedev</groupId>
                <artifactId>mybatis-paginator</artifactId>
                <version>${mybatis.paginator.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <!-- MySql -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <!-- 連接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!-- Spring -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- JSP相關(guān) -->
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>${servlet-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>${jsp-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <!-- 文件上傳組件 -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>${commons-fileupload.version}</version>
            </dependency>
            <!-- Redis客戶端 -->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>${jedis.version}</version>
            </dependency>
            <!-- solr客戶端 -->
            <dependency>
                <groupId>org.apache.solr</groupId>
                <artifactId>solr-solrj</artifactId>
                <version>${solrj.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <!-- 資源文件拷貝插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- java編譯插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

這里要說明一下:

dependencies與dependencyManagement的區(qū)別

dependencies即使在子項目中不寫該依賴項,那么子項目仍然會從父項目中繼承該依賴項(全部繼承)
dependencyManagement里只是聲明依賴法精,并不實現(xiàn)引入多律,因此子項目需要顯示的聲明需要用的依賴痴突。如果不在子項目中聲明依賴,是不會從父項目中繼承下來的狼荞;只有在子項目中寫了該依賴項辽装,并且沒有指定具體版本,才會從父項目中繼承該項相味,并且version和scope都讀取自父pom;另外如果子項目中指定了版本號拾积,那么會使用子項目中指定的jar版本。

3.2 創(chuàng)建llmall-common和llmall-manager

創(chuàng)建common模塊.png

創(chuàng)建聚合工程.png
創(chuàng)建子模塊.png
創(chuàng)建web模塊選的是war包.png

在創(chuàng)建好web模塊是要新建WEB-INF文件夾添加web.xml攻走。


工程各個模塊的說明.png

建立各個模塊的依賴關(guān)系

依賴關(guān)系:
web---->service
service---->mapper
mapper---->pojo
別忘了聚合工程依賴工具類
manager---->common

運行l(wèi)lmall-manager項目

配置tomcat插件

運行web工程需要添加一個tomcat插件殷勘。插件必須添加到llmall-manager工程中。因為llmall-manager是聚合工程昔搂。在運行時需要把子工程聚合到一起才能運行玲销。

<build>
        <plugins>
            <!-- 配置Tomcat插件 -->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <port>8080</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>\

啟動tomcat命令:tomcat7:run
注意:在啟動之前要把各個模塊install到maven,要不就會報錯摘符!
在web模塊中添加index.html贤斜。
運行之后如果看到:

運行成功界面.png

恭喜你成功把地基建好,加油吧逛裤!騷年瘩绒!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市带族,隨后出現(xiàn)的幾起案子锁荔,更是在濱河造成了極大的恐慌,老刑警劉巖蝙砌,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阳堕,死亡現(xiàn)場離奇詭異,居然都是意外死亡择克,警方通過查閱死者的電腦和手機恬总,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肚邢,“玉大人壹堰,你說我怎么就攤上這事÷夂” “怎么了贱纠?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長响蕴。 經(jīng)常有香客問我并巍,道長,這世上最難降的妖魔是什么换途? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任懊渡,我火速辦了婚禮刽射,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘剃执。我一直安慰自己誓禁,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布肾档。 她就那樣靜靜地躺著摹恰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怒见。 梳的紋絲不亂的頭發(fā)上俗慈,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音遣耍,去河邊找鬼闺阱。 笑死,一個胖子當著我的面吹牛舵变,可吹牛的內(nèi)容都是我干的酣溃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼纪隙,長吁一口氣:“原來是場噩夢啊……” “哼赊豌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绵咱,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤碘饼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后悲伶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體艾恼,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年低葫,在試婚紗的時候發(fā)現(xiàn)自己被綠了碟联。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖昏名,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情衫哥,我是刑警寧澤圃伶,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站毙芜,受9級特大地震影響忽媒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腋粥,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一晦雨、第九天 我趴在偏房一處隱蔽的房頂上張望架曹。 院中可真熱鬧,春花似錦闹瞧、人聲如沸绑雄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽万牺。三九已至,卻和暖如春洽腺,著一層夾襖步出監(jiān)牢的瞬間脚粟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工蘸朋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留核无,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓度液,卻偏偏與公主長得像厕宗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子堕担,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,808評論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理已慢,服務(wù)發(fā)現(xiàn),斷路器霹购,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,098評論 25 707
  • 2017-10-26 周四 晴 從實的一天佑惠,中午面談一位增員,因為自己太懶不想出門齐疙,現(xiàn)在這樣的人太多了膜楷,有時候自己...
    annyzzhr閱讀 236評論 0 0
  • 時間不錯,吃完飯還能出來散個步贞奋。季節(jié)已經(jīng)是深秋了赌厅,這是南方最舒服的時候,秋風能把外套的衣角吹起轿塔,而心緒卻不再被誰左...
    凡士木木閱讀 226評論 0 0