Maven編譯代碼的相關(guān)命令無(wú)標(biāo)題文章

Maven編譯代碼的相關(guān)命令

第一淮悼、main目錄下的主代碼編寫(xiě)完畢后渊鞋,使用Maven進(jìn)行編譯,在項(xiàng)目根目錄下運(yùn)行命令mvn clean compile進(jìn)

行項(xiàng)目編譯癌刽。

第二、test目錄下的測(cè)試用例編寫(xiě)完畢之后就可以調(diào)用Maven執(zhí)行測(cè)試矮固,運(yùn)行mvn clean test進(jìn)行測(cè)試邻梆。

第三尼摹、將項(xiàng)目進(jìn)行編譯、測(cè)試之后故黑,下一個(gè)重要步驟就是打包(package)。在pom.xml中定義

war標(biāo)簽表示將要把工程打成什么類(lèi)型的包(默認(rèn)是jar類(lèi)型)扳炬,我們可以簡(jiǎn)單地

執(zhí)行命令mvn clean package進(jìn)行打包。

第四、war插件的war目標(biāo)將項(xiàng)目主代碼打包成一個(gè)名為S3h3WebWs標(biāo)簽中的定義-

0.0.1-SNAPSHOT標(biāo)簽中的定義.war的文件

(最終的jar文件是S3h3WebWs-0.0.1-SNAPSHOT.war)绳泉,該文件也位于target/輸出目錄中蛾娶,它是根據(jù)

artifact-version.jar規(guī)則進(jìn)行命名的,如有需要,我們還可以使用finalName來(lái)自定義該文件的名稱(chēng)。

第五色徘、至此斤寂,我們得到了項(xiàng)目的輸出遍搞,如果我們把項(xiàng)目打成了jar文件并且需要在其他項(xiàng)目中使用的話(huà)搀别,就可以

復(fù)制這個(gè)jar文件到其他項(xiàng)目的Classpath中從而使用這個(gè)項(xiàng)目中的類(lèi)。但是尾抑,如何才能讓其他的Maven項(xiàng)

目直接引用這個(gè)jar呢歇父?我們還需要一個(gè)安裝的步驟,執(zhí)行mvn clean install命令再愈。

第六榜苫、我們已經(jīng)將體驗(yàn)了Maven最主要的命令:mvn clean compilemvn clean test翎冲、

mvn clean package垂睬、mvn clean install。執(zhí)行test之前是會(huì)先執(zhí)行compile的抗悍,執(zhí)行package之前是

會(huì)先執(zhí)行test的驹饺,而類(lèi)似地,install之前會(huì)執(zhí)行package缴渊。

第七赏壹、如果項(xiàng)目中有一個(gè)擁有main方法的類(lèi)需要被調(diào)用執(zhí)行。默認(rèn)打包生成的jar是不能夠直接運(yùn)行的main方法

的衔沼,因?yàn)閹в衜ain方法的類(lèi)信息不會(huì)添加到manifest中(我們可以打開(kāi)jar文件中的META-INF/MANIFEST.MF

文件蝌借,將無(wú)法看到Main-Class一行)昔瞧。為了生成可執(zhí)行的jar文件,我們需要借助maven-shade-plugin插

件菩佑,配置該插件如下:

org.apache.maven.plugins

maven-shade-plugin

1.2.1

package

shade

com.todaytech.framework.utils.VoConvertXmlUtils

plugin元素在POM中的相對(duì)位置應(yīng)該在下面自晰。我們配置了mainClass

為com.todaytech.framework.utils.VoConvertXmlUtils,項(xiàng)目在打包時(shí)會(huì)將該信息放到MANIFEST中∩耘鳎現(xiàn)

在執(zhí)行mvn clean install酬荞,待構(gòu)建完成之后打開(kāi)target/目錄,我們可以看到

S3h3WebWs-0.0.1-SNAPSHOT.jar和original-S3h3WebWs-0.0.1-SNAPSHOT.jar瞧哟,前者是帶有Main-Class信息

的可運(yùn)行jar混巧,后者是原始的jar,打開(kāi)hello-world-1.0-SNAPSHOT.jar的META-INF/MANIFEST.MF绢涡,可以看 ?????到它包含這樣一行信息:Main-Class:com.todaytech.framework.utils.VoConvertXmlUtils

現(xiàn)在,我們?cè)陧?xiàng)目根目錄中執(zhí)行該jar文件:

D: \code\S3h3WebWs>java -jar target\S3h3WebWs-0.0.1-SNAPSHOT.jar

Hello Maven

控制臺(tái)輸出為Hello Maven遣疯,這正是我們所期望的雄可。

第八、使用maven archetype來(lái)創(chuàng)建該項(xiàng)目的骨架缠犀,離開(kāi)當(dāng)前的Maven項(xiàng)目目錄数苫。

如果是Maven 3,簡(jiǎn)單的運(yùn)行:

mvn archetype:generate

如果是Maven 2辨液,最好運(yùn)行如下命令:

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-5:generate

很多資料會(huì)讓你直接使用更為簡(jiǎn)單的 mvn archetype:generate 命令虐急,但在Maven2中這是不安全的,因?yàn)?/p>

該命令沒(méi)有指定archetype插件的版本滔迈,于是Maven會(huì)自動(dòng)去下載最新的版本止吁,進(jìn)而可能得到不穩(wěn)定的

SNAPSHOT版本,導(dǎo)致運(yùn)行失敗燎悍。然而在Maven 3中敬惦,即使用戶(hù)沒(méi)有指定版本,Maven也只會(huì)解析最新的穩(wěn)定

版本谈山,因此這是安全的俄删。

我們實(shí)際上是在運(yùn)行插件maven-archetype-plugin,注意冒號(hào)的分隔奏路,其格式為

groupId:artifactId:version:goal畴椰,org.apache.maven.plugins是maven官方插件的groupId,

maven-archetype-plugin是archetype插件的artifactId鸽粉,2.0-alpha-5是目前該插件最新的穩(wěn)定版斜脂,

generate是我們要使用的插件目標(biāo)。

緊接著我們會(huì)看到一段長(zhǎng)長(zhǎng)的輸出触机,有很多可用的archetype供我們選擇秽褒,包括著名的Appfuse項(xiàng)目的

archetype壶硅,JPA項(xiàng)目的archetype等等。每一個(gè)archetype前面都會(huì)對(duì)應(yīng)有一個(gè)編號(hào)销斟,同時(shí)命令行會(huì)提示一

個(gè)默認(rèn)的編號(hào)庐椒,其對(duì)應(yīng)的archetype為maven-archetype-quickstart,我們直接回車(chē)以選擇該archetype蚂踊,

緊接著Maven會(huì)提示我們輸入要?jiǎng)?chuàng)建項(xiàng)目的groupId约谈、artifactId、 version犁钟、以及包名package棱诱。

--------------------------------------------------------------------------------------------------

生成清除Eclipse項(xiàng)目結(jié)構(gòu):

mvn eclipse:eclipse

mvn eclipse:clean

清理(刪除target目錄下編譯內(nèi)容):

mvn clean

僅打包Web頁(yè)面文件:

mvn war:exploded

打包時(shí)跳過(guò)測(cè)試:

mvn package -Dmaven.test.skip=ture

跳過(guò)測(cè)試運(yùn)行maven任務(wù):

mvn -Dmaven.test.skip=true XXX

創(chuàng)建Maven的普通java項(xiàng)目(只適用于Maven2.x版本):

mvn archetype:create?-DgroupId=packageName?-DartifactId=projectName

創(chuàng)建Maven的Web項(xiàng)目(只適用于Maven2.x版本):

mvn archetype:create??-DgroupId=packageName-DartifactId=webappNameDarchetypeArtifactId=maven-archetype-webapp

創(chuàng)建Maven的Web項(xiàng)目(只適用于Maven3.x版本):

C:\Documents and Settings\Administrator>f:

F:\>cd F:\SoftWare\Maven\MavenWebAppTest

F:\SoftWare\Maven\MavenWebAppTest>mvn

archetype:generate -DgroupId=com.shihuan -DartifactId=S3h3WebWs

-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

創(chuàng)建Maven的Quickstart項(xiàng)目(只適用于Maven3.x版本):

C:\Documents and Settings\Administrator>f:

F:\>cd F:\SoftWare\Maven\MavenWebAppTest

F:\SoftWare\Maven\MavenWebAppTest>mvn

archetype:generate -DgroupId=com.shihuan -DartifactId=S3h3WebWs

-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

查看詳細(xì)日志信息命令:

mvn archetype:create -Dgroupid=com.shihuan -Dartifactid=S3h3WebWs -e-DarchetypeArtifactid=maven-archetype-webapp

或者

mvn archetype:create -Dgroupid=com.shihuan -Dartifactid=S3h3WebWs -X-DarchetypeArtifactid=maven-archetype-webapp

編譯源代碼: mvn compile

編譯測(cè)試代碼:mvn test-compile

運(yùn)行測(cè)試:mvn test

生成站點(diǎn)目錄: mvn site

生成站點(diǎn)目錄并發(fā)布:mvn site-deploy

安裝當(dāng)前工程的輸出文件到本地倉(cāng)庫(kù): mvn install

安裝指定文件到本地倉(cāng)庫(kù):mvn

install:install-file -DgroupId=

-DartifactId= -Dversion=1.0.0 -Dpackaging=jar

-Dfile=

查看實(shí)際pom信息: mvn help:effective-pom

分析項(xiàng)目的依賴(lài)信息:mvn dependency:analyze 或 mvn dependency:tree

查看幫助信息:mvn help:help 或 mvn help:help -Ddetail=true

查看插件的幫助信息:mvn :help,比如:mvn dependency:help 或 mvn ant:help

生成eclipse項(xiàng)目:mvn eclipse:eclipse

生成idea項(xiàng)目:mvn idea:idea

組合使用goal命令涝动,如只打包不測(cè)試:mvn -Dtest package

只打jar包: mvn jar:jar

只測(cè)試而不編譯迈勋,也不測(cè)試編譯:mvn test -skipping compile -skipping test-compile

在pom.xml文件中增加servlet容器的插件:

org.codehaus.mojo

tomcat-maven-plugin

org.mortbay.jetty

maven-jetty-plugin

6.1.6

maven-compiler-plugin

1.6

1.6

UTF-8

啟動(dòng)tomcat:

mvn tomcat:run

啟動(dòng)jetty:

mvn jetty:run

轉(zhuǎn)化為eclipse項(xiàng)目:

mvn -Dwtpversion=1.5 eclipse:eclipse

這樣生成wtp插件的web項(xiàng)目。

打開(kāi)eclipse醋粟,菜單選擇:file>import>general>existing projects into workspace靡菇,在對(duì)話(huà)框中選中目錄,導(dǎo)入即可米愿。

另外厦凤,需要在eclipse里創(chuàng)建一個(gè)classpath變量,名稱(chēng)為:M2_REPO育苟,值為系統(tǒng)用戶(hù)下.m2/repository目錄较鼓。

packaging : 打包的格式可以為:pom , jar , maven-plugin , ejb , war , ear , rar , par

POM間關(guān)系:?依賴(lài)關(guān)系(dependencies)、繼承關(guān)系(parent)违柏、聚合關(guān)系(modules)博烂。

依賴(lài)關(guān)系舉例:

org.hibernate

hibernate

3.2.6.ga

繼承關(guān)系舉例:

繼承其他pom.xml配置的內(nèi)容。

maven提供了一個(gè)類(lèi)似java.lang.Object的頂級(jí)父pom.xml文件漱竖。

可以通過(guò)下面命令查看當(dāng)前pom.xml受到超pom.xml文件的影響:mvn help:effective-pom脖母。

創(chuàng)建一個(gè)各種項(xiàng)目可復(fù)用的pom.xml文件:http://easymorse.googlecode.com/svn/trunk/pom/pom.xml

部署要復(fù)用的pom.xml文件:mvn install

在自己的pom文件中繼承上述pom:

com.easymorse

pom

0.1

聚合關(guān)系舉例:

用于將多個(gè)maven項(xiàng)目聚合為一個(gè)大的項(xiàng)目闲孤。

比如目錄結(jié)構(gòu)如下:

.

|-- pom.xml

|-- module-a

`-- pom.xml

|-- module-b

`-- pom.xml

|-- module-c

`-- pom.xml

|-- foo-all

`-- pom.xml

那么總的pom.xml文件類(lèi)似:

...

module-a

module-b

module-c

foo-all

把項(xiàng)目部署到tomcat下的做法:

tomcat配置有管理權(quán)限的用戶(hù):conf\tomcat-users.xml谆级。


在pom文件的tomcat插件中添加:

org.codehaus.mojo

tomcat-maven-plugin

http://localhost:8080/manager

myserver

/mycontext

在.m2/settings.xml文件中增加:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/settings-1.0.0.xsd">

myserver

marshal

password

運(yùn)行打包部署,在maven項(xiàng)目目錄下:

mvn tomcat:deploy

然后訪(fǎng)問(wèn):http://localhost:8080/mycontext/ 即可讼积。

撤銷(xiāo)部署:

mvn tomcat:undeploy

啟動(dòng)web應(yīng)用:

mvn tomcat:start

停止web應(yīng)用:

mvn tomcat:stop

重新部署:

mvn tomcat:redeploy

部署展開(kāi)的war文件:

mvn war:exploded tomcat:exploded

--------------------------------------------------------------------------------------

pom是指project object Model肥照。pom是一個(gè)xml,在maven2里為pom.xml勤众。是maven工作的基礎(chǔ)舆绎,在執(zhí)行task或者goal時(shí),maven會(huì)去項(xiàng)目根目錄下讀取pom.xml獲得需要的配置信息

pom文件中包含了項(xiàng)目的信息和maven build項(xiàng)目所需的配置信息们颜,通常有項(xiàng)目信息(如版本吕朵、成員)猎醇、項(xiàng)目的依賴(lài)、插件和goal努溃、build選項(xiàng)等等硫嘶。

pom是可以繼承的,通常對(duì)于一個(gè)大型的項(xiàng)目或是多個(gè)module的情況梧税,子模塊的pom需要指定父模塊的pom沦疾。

project?pom文件的頂級(jí)元素。

modelVersion?所使用的object?model版本第队,為了確保穩(wěn)定的使用哮塞,這個(gè)元素是強(qiáng)制性的。除非maven開(kāi)發(fā)者升級(jí)模板凳谦,否則不需要修改忆畅。

groupId?是項(xiàng)目創(chuàng)建團(tuán)體或組織的唯一標(biāo)志符,通常是域名倒寫(xiě)尸执,如groupId??org.apache.maven.plugins就是為所有maven插件預(yù)留的家凯。

artifactId?是項(xiàng)目artifact唯一的基地址名。

packaging?artifact打包的方式剔交,如jar肆饶、war改衩、ear等等岖常。默認(rèn)為jar。這個(gè)不僅表示項(xiàng)目最終產(chǎn)生何種后綴的文件葫督,也表示build過(guò)程使用什么樣的lifecycle竭鞍。

version?artifact的版本,通常能看見(jiàn)為類(lèi)似0.0.1-SNAPSHOT橄镜,其中SNAPSHOT表示項(xiàng)目開(kāi)發(fā)中偎快,為開(kāi)發(fā)版本。

name?表示項(xiàng)目的展現(xiàn)名洽胶,在maven生成的文檔中使用晒夹。

url表示項(xiàng)目的地址,在maven生成的文檔中使用姊氓。

description?表示項(xiàng)目的描述丐怯,在maven生成的文檔中使用。

dependencies?表示依賴(lài)翔横,在子節(jié)點(diǎn)dependencies中添加具體依賴(lài)的groupId?artifactId和version读跷。

build?表示build配置。

parent?表示父pom禾唁。

其中groupId:artifactId:version唯一確定了一個(gè)artifact效览。

Artifact

這個(gè)有點(diǎn)不好解釋?zhuān)笾抡f(shuō)就是一個(gè)項(xiàng)目將要產(chǎn)生的文件无切,可以是jar文件,源文件丐枉,二進(jìn)制文件哆键,war文件,甚至是pom文件矛洞。每個(gè)artifact都由groupId:artifactId:version組成的標(biāo)識(shí)符唯一識(shí)別洼哎。需要被使用(依賴(lài))的artifact都要放在倉(cāng)庫(kù)(見(jiàn)Repository)中。

Repositories

Repositories是用來(lái)存儲(chǔ)Artifact的沼本。如果說(shuō)我們的項(xiàng)目產(chǎn)生的Artifact是一個(gè)個(gè)小工具噩峦,那么Repositories就是一個(gè)倉(cāng)庫(kù),里面有我們自己創(chuàng)建的工具抽兆,也可以?xún)?chǔ)存別人造的工具识补,我們?cè)陧?xiàng)目中需要使用某種工具時(shí),在pom中聲明dependency辫红,編譯代碼時(shí)就會(huì)根據(jù)dependency去下載工具(Artifact凭涂,供自己使用。

對(duì)于自己的項(xiàng)目完成后可以通過(guò)mvn install命令將項(xiàng)目放到倉(cāng)庫(kù)(Repositories)中

倉(cāng)庫(kù)分為本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)贴妻,遠(yuǎn)程倉(cāng)庫(kù)是指遠(yuǎn)程服務(wù)器上用于存儲(chǔ)Artifact的倉(cāng)庫(kù)切油,本地倉(cāng)庫(kù)是指本機(jī)存儲(chǔ)Artifact的倉(cāng)庫(kù),對(duì)于windows機(jī)器本地倉(cāng)庫(kù)地址為系統(tǒng)用戶(hù)的.m2/repository下面名惩。

Build Lifecycle

是指一個(gè)項(xiàng)目build的過(guò)程澎胡。maven的Build Lifecycle分為三種,分別為default(處理項(xiàng)目的部署)娩鹉、clean(處理項(xiàng)目的清理)攻谁、site(處理項(xiàng)目的文檔生成)。他們都包含不同的lifecycle弯予。

Build Lifecycle是由phases構(gòu)成的戚宦,下面重點(diǎn)介紹default?Build Lifecycle幾個(gè)重要的phase:

validate?驗(yàn)證項(xiàng)目是否正確以及必須的信息是否可用;

compile?編譯源代碼锈嫩;

test?測(cè)試編譯后的代碼受楼,即執(zhí)行單元測(cè)試代碼;

package?打包編譯后的代碼呼寸,在target目錄下生成package文件艳汽;

integration-test?處理package以便需要時(shí)可以部署到集成測(cè)試環(huán)境;

verify?檢驗(yàn)package是否有效并且達(dá)到質(zhì)量標(biāo)準(zhǔn)等舔;

install?安裝package到本地倉(cāng)庫(kù)骚灸,方便本地其它項(xiàng)目使用;

deploy?部署慌植,拷貝最終的package到遠(yuǎn)程倉(cāng)庫(kù)和替他開(kāi)發(fā)這或項(xiàng)目共享甚牲,在集成或發(fā)布環(huán)境完成义郑。

以上的phase是有序的(注意實(shí)際兩個(gè)相鄰phase之間還有其他phase被省略,完整phase見(jiàn)lifecycle)丈钙,下面一個(gè)phase的執(zhí)行必須在上一個(gè)phase完成后

若直接以某一個(gè)phase為goal非驮,將先執(zhí)行完它之前的phase,如mvn install

將會(huì)先validate雏赦、compile劫笙、test、package星岗、integration-test填大、verify最后再執(zhí)行install phase。

Goal

goal代表一個(gè)特定任務(wù)

A?goal?represents?a?specific?task?(finer?than?a?build?phase)?which?contributes?to?the?building?and?managing?of?a?project.

mvn package表示打包的任務(wù)俏橘,通過(guò)上面的介紹我們知道允华,這個(gè)任務(wù)的執(zhí)行會(huì)先執(zhí)行package phase之前的phase

mvn deploy表示部署的任務(wù)

mven clean install則表示先執(zhí)行clean的phase(包含其他子phase),再執(zhí)行install的phase寥掐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末靴寂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子召耘,更是在濱河造成了極大的恐慌百炬,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)朝氓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人贷盲,你說(shuō)我怎么就攤上這事葱蝗。” “怎么了掉伏?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵缝呕,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我斧散,道長(zhǎng)供常,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任鸡捐,我火速辦了婚禮栈暇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘箍镜。我一直安慰自己源祈,他們只是感情好煎源,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著香缺,像睡著了一般手销。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上图张,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天锋拖,我揣著相機(jī)與錄音,去河邊找鬼祸轮。 笑死兽埃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的适袜。 我是一名探鬼主播讲仰,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼痪蝇!你這毒婦竟也來(lái)了鄙陡?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤躏啰,失蹤者是張志新(化名)和其女友劉穎趁矾,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體给僵,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡毫捣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了帝际。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔓同。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蹲诀,靈堂內(nèi)的尸體忽然破棺而出斑粱,到底是詐尸還是另有隱情,我是刑警寧澤脯爪,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布则北,位于F島的核電站,受9級(jí)特大地震影響痕慢,放射性物質(zhì)發(fā)生泄漏尚揣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一掖举、第九天 我趴在偏房一處隱蔽的房頂上張望快骗。 院中可真熱鬧,春花似錦、人聲如沸方篮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)恭取。三九已至泰偿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜈垮,已是汗流浹背耗跛。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留攒发,地道東北人调塌。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像惠猿,于是被迫代替她去往敵國(guó)和親羔砾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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