Maven環(huán)境

第1章 Maven 介紹

什么是 Maven

什么是 Maven

Maven 的正確發(fā)音是[?mev?n]揣炕,而不是“馬瘟”以及其他什么瘟。Maven 在美國是一個口語化的詞
語常柄,代表專家琳猫、內(nèi)行的意思梅誓。
一個對 Maven 比較正式的定義是這么說的:Maven 是一個項目管理工具沽讹,它包含了一個項目對象模
型 (POM:Project Object Model),一組標(biāo)準(zhǔn)集合藻烤,一個項目生命周期(Project Lifecycle)绷雏,一個依賴管
理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(biāo)
(goal)的邏輯怖亭。

Maven 能解決什么問題

可以用更通俗的方式來說明涎显。我們知道,項目開發(fā)不僅僅是寫寫代碼而已依许,期間會伴隨著各種必不可少的事情要做棺禾,下面列舉幾個感受一下:


  • 我們需要引用各種 jar 包,尤其是比較大的工程峭跳,引用的 jar 包往往有幾十個乃至上百個膘婶, 每用
    到一種 jar 包,都需要手動引入工程目錄蛀醉,而且經(jīng)常遇到各種讓人抓狂的 jar 包沖突悬襟,版本沖突。
  • 我們辛辛苦苦寫好了 Java 文件拯刁,可是只懂 0 和 1 的白癡電腦卻完全讀不懂脊岳,需要將它編譯成二
    進(jìn)制字節(jié)碼。好歹現(xiàn)在這項工作可以由各種集成開發(fā)工具幫我們完成垛玻,Eclipse割捅、IDEA 等都可以將代
    碼即時編譯。當(dāng)然帚桩,如果你嫌生命漫長亿驾,何不鋪張,也可以用記事本來敲代碼账嚎,然后用 javac 命令一
    個個地去編譯莫瞬,逗電腦玩儡蔓。
  • 世界上沒有不存在 bug 的代碼,計算機(jī)喜歡 bug 就和人們總是喜歡美女帥哥一樣疼邀。為了追求美為
    了減少 bug喂江,因此寫完了代碼,我們還要寫一些單元測試旁振,然后一個個的運行來檢驗代碼質(zhì)量获询。
  • 再優(yōu)雅的代碼也是要出來賣的。我們后面還需要把代碼與各種配置文件拐袜、資源整合到一起筐付,定型
    打包,如果是 web 項目阻肿,還需要將之發(fā)布到服務(wù)器,供人蹂躪沮尿。
    試想丛塌,如果現(xiàn)在有一種工具,可以把你從上面的繁瑣工作中解放出來畜疾,能幫你構(gòu)建工程赴邻,管理 jar
    包,編譯代碼啡捶,還能幫你自動運行單元測試姥敛,打包,生成報表瞎暑,甚至能幫你部署項目彤敛,生成 Web 站點,你會心動嗎了赌?Maven 就可以解決上面所提到的這些問題墨榄。

Maven 的依賴管理

Maven 的一個核心特性就是依賴管理。當(dāng)我們涉及到多模塊的項目(包含成百個模塊或者子項目)勿她,管理依賴就變成
一項困難的任務(wù)袄秩。Maven 展示出了它對處理這種情形的高度控制。
傳統(tǒng)的 WEB 項目中逢并,我們必須將工程所依賴的 jar 包復(fù)制到工程中之剧,導(dǎo)致了工程的變得很大。
分析如下:


圖一.png

Maven 的使用

Maven 的安裝

Maven 軟件的下載

為了使用 Maven 管理工具砍聊,我們首先要到官網(wǎng)去下載它的安裝軟件背稼。通過百度搜索“Maven“如下:
點擊 Download 鏈接,就可以直接進(jìn)入到 Maven 軟件的下載頁面:


圖二.png
圖三.png

Maven 軟件的安裝

Maven 下載后辩恼,將 Maven 解壓到一個沒有中文沒有空格的路徑下雇庙,比如 D:\software\maven 下面谓形。
解壓后目錄結(jié)構(gòu)如下:


  • bin:存放了 maven 的命令,比如我們前面用到的 mvn tomcat:run
  • boot:存放了一些 maven 本身的引導(dǎo)程序疆前,如類加載器等
  • conf:存放了 maven 的一些配置文件寒跳,如 setting.xml 文件
  • lib:存放了 maven 本身運行所需的一些 jar 包

至此我們的 maven 軟件就可以使用了,前提是你的電腦上之前已經(jīng)安裝并配置好了 JDK竹椒。


圖四.png

Maven 及 JDK 配置

電腦上需安裝 java 環(huán)境童太,安裝 JDK1.7 + 版本 (將JAVA_HOME/bin 配置環(huán)境變量 path ),我們使用的是 JDK8 相關(guān)版本配置 MAVEN_HOME 胸完,變量值就是你的 maven 安裝 的路徑(bin 目錄之前一級目錄)上面配置了我們的 Maven 軟件书释,注意這個目錄就是之前你解壓 maven 的壓縮文件包在的的目錄,最好不要有中文和空格赊窥。
再次檢查 JDK 的安裝目錄爆惧。


圖五.png

圖六.png

Maven 軟件版本測試

通過 mvn -v命令檢查 maven 是否安裝成功,看到 maven 的版本為 3.5.2 及 java 版本為 1.8 即為安裝成功锨能。找開 cmd 命令扯再,輸入 mvn –v命令,如下圖:


圖七.png

我們發(fā)現(xiàn) maven 的版本址遇,及 jdk 的版本符合要求熄阻,這樣我們的 maven 軟件安裝就成功了。

Maven 倉庫

Maven 倉庫的分類

maven 的工作需要從倉庫下載一些 jar 包倔约,如下圖所示秃殉,本地的項目 A、項目 B 等都會通過 maven
軟件從遠(yuǎn)程倉庫(可以理解為互聯(lián)網(wǎng)上的倉庫)下載 jar 包并存在本地倉庫浸剩,本地倉庫 就是本地文
件夾钾军,當(dāng)?shù)诙涡枰?jar 包時則不再從遠(yuǎn)程倉庫下載,因為本地倉庫已經(jīng)存在了乒省,可以將本地倉庫
理解為緩存巧颈,有了本地倉庫就不用每次從遠(yuǎn)程倉庫下載了。

下圖描述了 maven 中倉庫的類型:


圖八.png
  • 本地倉庫 :用來存儲從遠(yuǎn)程倉庫或中央倉庫下載的插件和 jar 包袖扛,項目使用一些插件或 jar 包砸泛,優(yōu)先從本地倉庫查找

  • 默認(rèn)本地倉庫位置在 {user.dir}/.m2/repository,{user.dir}表示 windows 用戶目錄蛆封。

    圖九.png

  • 遠(yuǎn)程倉庫:如果本地需要插件或者 jar 包唇礁,本地倉庫沒有,默認(rèn)去遠(yuǎn)程倉庫下載惨篱。
    遠(yuǎn)程倉庫可以在互聯(lián)網(wǎng)內(nèi)也可以在局域網(wǎng)內(nèi)盏筐。

  • 中央倉庫 :在 maven 軟件中內(nèi)置一個遠(yuǎn)程倉庫地址 http://repo1.maven.org/maven2 ,它是中央倉庫砸讳,服務(wù)于整個互聯(lián)網(wǎng)琢融,它是由 Maven 團(tuán)隊自己維護(hù)界牡,里面存儲了非常全的 jar 包,它包含了世界上大部分流行的開源項目構(gòu)件漾抬。

Maven 本地倉庫的配置

本課程是在無網(wǎng)的狀態(tài)下學(xué)習(xí)宿亡,需要配置資料提供的本地倉庫,將 “repository.rar”解壓至自己的電腦上纳令,我們解壓在 D:\repository 目錄下(可以放在沒有中文及空格的目錄下)挽荠。


圖十.png

在 MAVE_HOME/conf/settings.xml 文件中配置本地倉庫位置(maven 的安裝目錄下):


圖十一.png

打開 settings.xml文件,配置如下:


圖十二.png

全局 setting 與用戶 setting


maven 倉庫地址平绩、私服等配置信息需要在 setting.xml 文件中配置圈匆,分為全局配置和用戶配置。

在 maven 安裝目錄下的有 conf/setting.xml 文件捏雌,此 setting.xml 文件用于 maven 的所有 project項目跃赚,它作為 maven 的全局配置。

如需要個性配置則需要在用戶配置中設(shè)置性湿,用戶配置的 setting.xml 文件默認(rèn)的位置在:{user.dir} /.m2/settings.xml 目錄中,{user.dir} 指 windows 中的用戶目錄来累。

maven 會先找用戶配置,如果找到則以用戶配置文件為準(zhǔn)窘奏,否則使用全局配置文件。


圖十三.png

Maven 工程的認(rèn)識

Maven 工程的目錄結(jié)構(gòu)

圖一.png

作為一個 maven 工程葫录,它的 src 目錄和 pom.xml 是必備的着裹。
進(jìn)入 src 目錄后,我們發(fā)現(xiàn)它里面的目錄結(jié)構(gòu)如下:

圖二.png

  • src/main/java —— 存放項目的.java 文件
  • src/main/resources —— 存放項目資源文件米同,如 spring, hibernate 配置文件
  • src/test/java —— 存放所有單元測試.java 文件骇扇,如 JUnit 測試類
  • src/test/resources —— 測試資源文件
  • target —— 項目輸出位置,編譯后的 class 文件會輸出到此目錄
  • pom.xml——maven 項目核心配置文件
  • 注意:如果是普通的 java 項目面粮,那么就沒有 webapp 目錄少孝。

Maven 工程的運行

進(jìn)入 maven 工程目錄(當(dāng)前目錄有 pom.xml 文件),運行 tomcat:run 命令熬苍。


圖三.png

問題處理

如果本地倉庫配置錯誤會報下邊的錯誤


圖四.png

分析:
maven 工程運行先從本地倉庫找 jar 包稍走,本地倉庫沒有再從中央倉庫找,上邊提示 downloading…
表示 從中央倉庫下載 jar柴底,由于本地沒有聯(lián)網(wǎng)婿脸,報錯。

解決:
在 maven 安裝目錄的 conf/setting.xml 文件中配置本地倉庫柄驻,參考:“maven 倉庫/配置本地倉庫章節(jié)”狐树。

Maven 常用命令

我們可以在 cmd 中通過一系列的 maven 命令來對我們的 maven-helloworld 工程進(jìn)行編譯、測試鸿脓、運
行抑钟、打包涯曲、安裝、部署在塔。

compile

compile 是 maven 工程的編譯命令幻件,作用是將 src/main/java 下的文件編譯為 class 文件輸出到 target目錄下。
cmd 進(jìn)入命令狀態(tài)心俗,執(zhí)行 mvn compile傲武,如下圖提示成功:


圖五.png

查看 target 目錄,class 文件已生成城榛,編譯完成揪利。


圖六.png

test

test 是 maven 工程的測試命令 mvn test,會執(zhí)行 src/test/java 下的單元測試類狠持。cmd 執(zhí)行 mvn test 執(zhí)行 src/test/java 下單元測試類疟位,下圖為測試結(jié)果,運行 1 個測試用例喘垂,全部成功甜刻。


圖七.png

clean

clean 是 maven 工程的清理命令,執(zhí)行 clean 會刪除 target 目錄及內(nèi)容正勒。

package

package 是 maven 工程的打包命令得院,對于 java 工程執(zhí)行 package 打成 jar 包,對于 web 工程打成 war
包章贞。

install

install 是 maven 工程的安裝命令祥绞,執(zhí)行 install 將 maven 打成 jar 包或 war 包發(fā)布到本地倉庫。從運行結(jié)果中鸭限,可以看出,當(dāng)后面的命令執(zhí)行時蜕径,前面的操作過程也都會自動執(zhí)行。

Maven 指令的生命周期

maven 對項目構(gòu)建過程分為三套相互獨立的生命周期败京,請注意這里說的是“三套”兜喻,而且“相互獨立”。


這三套生命周期分別是:

  1. Clean Lifecycle 在進(jìn)行真正的構(gòu)建之前進(jìn)行一些清理工作赡麦。
  2. Default Lifecycle 構(gòu)建的核心部分朴皆,編譯,測試泛粹,打包车荔,部署等等。
  3. Site Lifecycle 生成項目報告戚扳,站點忧便,發(fā)布站點。

maven 的概念模型

Maven 包含了一個項目對象模型 (Project Object Model),一組標(biāo)準(zhǔn)集合珠增,一個項目生命周期(Project Lifecycle)超歌,一個依賴管理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯蒂教。


圖八.png
  • 項目對象模型 (Project Object Model)
    一個 maven 工程都有一個 pom.xml 文件巍举,通過 pom.xml 文件定義項目的坐標(biāo)、項目依賴凝垛、項目信息懊悯、
    插件目標(biāo)等。
  • 依賴管理系統(tǒng)(Dependency Management System)
    通過 maven 的依賴管理對項目所依賴的 jar 包進(jìn)行統(tǒng)一管理梦皮。
    比如:項目依賴 junit4.9炭分,通過在 pom.xml 中定義 junit4.9 的依賴即使用 junit4.9,如下所示是 junit4.9
    的依賴定義:
<!-- 依賴關(guān)系 -->
<dependencies>
<!-- 此項目運行使用 junit剑肯,所以此項目依賴 junit -->
<dependency>
<!-- junit 的項目名稱 -->
<groupId>junit</groupId>
<!-- junit 的模塊名稱 -->
<artifactId>junit</artifactId>
<!-- junit 版本 -->
<version>4.9</version>
<!-- 依賴范圍:單元測試時使用 junit -->
<scope>test</scope>
</dependency>
  • 一個項目生命周期(Project Lifecycle)
    使用 maven 完成項目的構(gòu)建捧毛,項目構(gòu)建包括:清理、編譯让网、測試呀忧、部署等過程,maven 將這些過程規(guī)范為一個生命周期溃睹,如下所示是生命周期的各各階段:


    圖九.png

maven 通過執(zhí)行一些簡單命令即可實現(xiàn)上邊生命周期的各各過程而账,比如執(zhí)行 mvn compile 執(zhí)行編譯、執(zhí)行 mvn clean 執(zhí)行清理因篇。

  • 一組標(biāo)準(zhǔn)集合

maven 將整個項目管理過程定義一組標(biāo)準(zhǔn)福扬,比如:通過 maven 構(gòu)建工程有標(biāo)準(zhǔn)的目錄結(jié)構(gòu),有標(biāo)準(zhǔn)的生命周期階段惜犀、依賴管理有標(biāo)準(zhǔn)的坐標(biāo)定義等绅喉。

  • 插件(plugin)目標(biāo)(goal)

maven 管理項目生命周期過程都是基于插件完成的眶熬。

idea 開發(fā) maven 項目

idea 的 maven 配置

打開FileSettings 配置 maven

依據(jù)圖片指示异逐,選擇本地 maven 安裝目錄积瞒,指定 maven 安裝目錄下 conf 文件夾中 settings 配置文件肚豺。


圖十.png

idea 中創(chuàng)建一個 maven 的 web 工程

打開 idea残黑,選擇創(chuàng)建一個新工程


圖十一.png

選擇 idea 提供好的 maven 的web 工程模板


圖十二.png

點擊 Next 填寫項目信息


圖十三.png

點擊 Next俗孝,此處不做改動匙奴。


圖十四.png

點擊 Next 選擇項目所在目錄


圖十五.png

點擊 Finish 后開始創(chuàng)建工程俗冻,耐心等待礁叔,直到出現(xiàn)如下界面。


圖十六.png

手動添加 src/main/java 目錄迄薄,如下圖右鍵 main 文件夾》New》Directory


圖十七.png

創(chuàng)建一個新的文件夾命名為 java


圖十八.png

點擊 OK 后琅关,在新的文件夾 java 上右鍵>Make Directory as>Sources Root


圖十九.png

創(chuàng)建一個 Servlet

src/java/main 創(chuàng)建了一個 Servlet,但報錯


圖一.png

要解決問題讥蔽,就是要將 servlet-api-xxx.jar 包放進(jìn)來涣易,作為 maven 工程應(yīng)當(dāng)添加 servlet 的坐標(biāo)画机,從而導(dǎo)入它的 jar

在 pom.xml 文件添加坐標(biāo)

直接打開 hello_maven 工程的 pom.xml 文件,再添加坐標(biāo)


圖二.png

添加 jar 包的坐標(biāo)時新症,還可以指定這個 jar 包將來的作用范圍步氏。
每個 maven 工程都需要定義本工程的坐標(biāo),坐標(biāo)是 maven 對 jar 包的身份定義徒爹,比如:入門程序的

坐標(biāo)定義如下:
<!--項目名稱荚醒,定義為組織名+項目名,類似包名-->
<groupId>com.itheima</groupId>
<!-- 模塊名稱 -->
<artifactId>hello_maven</artifactId>
<!-- 當(dāng)前項目版本號隆嗅,snapshot 為快照版本即非正式版本界阁,release 為正式發(fā)布版本 -->
<version>0.0.1-SNAPSHOT</version>
<packaging > :打包類型
jar:執(zhí)行 package 會打成 jar 包
war:執(zhí)行 package 會打成 war 包
pom :用于 maven 工程的繼承,通常父工程設(shè)置為 pom

坐標(biāo)的來源方式

添加依賴需要指定依賴 jar 包的坐標(biāo)榛瓮,但是很多情況我們是不知道 jar 包的的坐標(biāo)铺董,可以通過如下方
式查詢:

從互聯(lián)網(wǎng)搜索
  1. http://search.maven.org/
  2. http://mvnrepository.com/
    圖三.png

依賴范圍

A 依賴 B,需要在 A 的 pom.xml 文件中添加 B 的坐標(biāo)禀晓,添加坐標(biāo)時需要指定依賴范圍精续,依賴范圍包
括:

  • compile:編譯范圍,指 A 在編譯時依賴 B粹懒,此范圍為默認(rèn)依賴范圍重付。編譯范圍的依賴會用在
    編譯、測試凫乖、運行确垫,由于運行時需要所以編譯范圍的依賴會被打包。

  • provided:provided 依賴只有在當(dāng) JDK 或者一個容器已提供該依賴之后才使用帽芽, provided 依
    賴在編譯和測試時需要删掀,在運行時不需要,比如:servlet api 被 tomcat 容器提供导街。

  • runtime:runtime 依賴在運行和測試系統(tǒng)的時候需要披泪,但在編譯的時候不需要。比如:jdbc
    的驅(qū)動包搬瑰。由于運行時需要所以 runtime 范圍的依賴會被打包款票。

  • test:test 范圍依賴 在編譯和運行時都不需要,它們只有在測試編譯和測試運行階段可用泽论,
    比如:junit艾少。由于運行時不需要所以 test范圍依賴不會被打包。

  • system:system 范圍依賴與 provided 類似翼悴,但是你必須顯式的提供一個對于本地系統(tǒng)中 JAR
    文件的路徑缚够,需要指定 systemPath 磁盤路徑,system依賴不推薦使用。


    圖四.png

在 maven-web 工程中測試各各 scop潮瓶。
測試總結(jié):

  • 默認(rèn)引入 的 jar 包 ------- compile 【默認(rèn)范圍 可以不寫】(編譯陶冷、測試、運行 都有效 )
  • servlet-api 毯辅、jsp-api ------- provided (編譯埂伦、測試 有效, 運行時無效 防止和 tomcat 下 jar 沖突)
  • jdbc 驅(qū)動 jar 包 ---- runtime (測試思恐、運行 有效 )
  • junit ----- test (測試有效)
    依賴范圍由強(qiáng)到弱的順序是:compile>provided>runtime>test

項目中添加的坐標(biāo)

圖五.png

設(shè)置 jdk 編譯版本

本教程使用 jdk1.8沾谜,需要設(shè)置編譯版本為 1.8,這里需要使用 maven 的插件來設(shè)置:
在 pom.xml 中加入:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

編寫 servlet

在 src/main/java 中創(chuàng)建 ServletTest


圖六.png

編寫 jsp

圖七.png

在 web.xml 中配置 servlet 訪問路徑

圖八.png

添加 tomcat7 插件

在 pom 文件中添加如下內(nèi)容


圖九.png

  • 此時點擊 idea 最右側(cè) Maven Projects胀莹,
  • 就可以看到我們新添加的 tomcat7 插件
  • 雙擊 tomcat7插件下 tomcat7:run 命令直接運行項目

圖十.png

也可以直接點擊如圖按鈕基跑,手動輸入 tomc7:run 命令運行項目


圖十一.png

maven 工程運行調(diào)試

端口占用處理

重新執(zhí)行 tomcat:run 命令重啟工程,重啟之前需手動停止 tomcat描焰,否則報下邊的錯誤


圖十二.png

斷點調(diào)試

點擊如圖所示選項


圖十三.png

在彈出框中點擊如圖加號按鈕找到 maven 選項


圖十四.png

在彈出窗口中填寫如下信息


圖十五.png

完成后先 Apply 再 OK 結(jié)束配置后媳否,可以在主界面找到我們剛才配置的操作名稱。


圖十六.png

如上圖紅框選中的兩個按鈕荆秦,左側(cè)是正常啟動篱竭,右側(cè)是 debug 啟動。

總結(jié)

maven 倉庫

  1. maven 倉庫的類型有哪些步绸?
  2. maven 工程查找倉庫的流程是什么掺逼?
  3. 本地倉庫如何配置?

常用的 maven 命令


  1. 常用 的 maven 命令包括:
    • compile:編譯
    • clean:清理
    • test:測試
    • package:打包
    • install:安裝

坐標(biāo)定義

在 pom.xml 中定義坐標(biāo)瓤介,內(nèi)容包括:groupId吕喘、artifactId、version刑桑,詳細(xì)內(nèi)容如下:

<!--項目名稱氯质,定義為組織名+項目名,類似包名-->
<groupId>cn.itcast.maven</groupId>
<!-- 模塊名稱 -->

<artifactId>maven-first</artifactId>
<!-- 當(dāng)前項目版本號祠斧,snapshot 為快照版本即非正式版本闻察,release 為正式發(fā)布版本 -->
<version>0.0.1-SNAPSHOT</version>
<packaging > :打包類型
jar:執(zhí)行 package 會打成 jar 包
war:執(zhí)行 package 會打成 war 包
pom :用于 maven 工程的繼承,通常父工程設(shè)置為 pom
5.4 pom 基本配置
pom.xml 是 Maven 項目的核心配置文件梁肿,位于每個工程的根目錄,基本配置如下:
<project > :文件的根節(jié)點 .
<modelversion > : pom.xml 使用的對象模型版本
<groupId > :項目名稱觅彰,一般寫項目的域名
<artifactId > :模塊名稱吩蔑,子項目名或模塊名稱
<version > :產(chǎn)品的版本號 . 
<packaging > :打包類型,一般有 jar填抬、war烛芬、pom 等
<name > :項目的顯示名,常用于 Maven 生成的文檔。 
<description > :項目描述赘娄,常用于 Maven 生成的文檔
<dependencies> :項目依賴構(gòu)件配置仆潮,配置項目依賴構(gòu)件的坐標(biāo)
<build> :項目構(gòu)建配置,配置編譯遣臼、運行插件等性置。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市揍堰,隨后出現(xiàn)的幾起案子鹏浅,更是在濱河造成了極大的恐慌,老刑警劉巖屏歹,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隐砸,死亡現(xiàn)場離奇詭異,居然都是意外死亡蝙眶,警方通過查閱死者的電腦和手機(jī)季希,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幽纷,“玉大人式塌,你說我怎么就攤上這事∨椋” “怎么了珊搀?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長尾菇。 經(jīng)常有香客問我境析,道長,這世上最難降的妖魔是什么派诬? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任劳淆,我火速辦了婚禮,結(jié)果婚禮上默赂,老公的妹妹穿的比我還像新娘沛鸵。我一直安慰自己,他們只是感情好缆八,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布曲掰。 她就那樣靜靜地躺著,像睡著了一般奈辰。 火紅的嫁衣襯著肌膚如雪栏妖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天奖恰,我揣著相機(jī)與錄音吊趾,去河邊找鬼宛裕。 笑死,一個胖子當(dāng)著我的面吹牛论泛,可吹牛的內(nèi)容都是我干的揩尸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼屁奏,長吁一口氣:“原來是場噩夢啊……” “哼岩榆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起了袁,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤朗恳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后载绿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粥诫,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年崭庸,在試婚紗的時候發(fā)現(xiàn)自己被綠了怀浆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡怕享,死狀恐怖执赡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情函筋,我是刑警寧澤沙合,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站跌帐,受9級特大地震影響首懈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谨敛,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一究履、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脸狸,春花似錦最仑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卿啡,卻和暖如春吟吝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背牵囤。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工爸黄, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揭鳞。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓炕贵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親野崇。 傳聞我的和親對象是個殘疾皇子称开,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

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