4带兜、私有倉(cāng)庫(kù)nexus(maven筆記)

1

前面我們講過(guò)本地倉(cāng)庫(kù)和中央倉(cāng)庫(kù),有時(shí)候我們還會(huì)在本地倉(cāng)庫(kù)和中央倉(cāng)庫(kù)中間配置一個(gè)私有倉(cāng)庫(kù)吨灭,這主要是用來(lái)管理一些常用的刚照、公共的依賴包。同時(shí)也方便我們查詢喧兄。這里我們使用私有倉(cāng)庫(kù)nexus涩咖。

一、安裝

  • (1)解壓縮之后將bin路徑添加到環(huán)境變量

  • (2)在命令行中使用命令nexus install進(jìn)行安裝

  • (3)修改E:\nexus-2.11.4-01-bundle\nexus-2.11.4-01\bin\jsw\conf中配置文件的wrapper.java.command=E:\javaJDK\jdk1.8.0_60\bin\java.exe這一行繁莹,將地址改成本地jdk的路徑檩互。

  • (4)使用命令nexus start啟動(dòng)。注意:如果啟動(dòng)失敗咨演,可能是端口被占用闸昨,這里修改E:\nexus-2.11.4-01-bundle\nexus-2.11.4-01\conf\ nexus.properties中的端口號(hào),默認(rèn)是8081薄风,我們修改為8082饵较。

  • (5)使用網(wǎng)址http://localhost:8082/nexus進(jìn)行訪問(wèn)。點(diǎn)擊左邊的Repositories就可以看到工廠了遭赂。登錄帳號(hào)admin循诉,密碼admin123

二撇他、倉(cāng)庫(kù)簡(jiǎn)介

在倉(cāng)庫(kù)中我們可以看到有很多類型的倉(cāng)庫(kù)

  • (1)virtual是一個(gè)針對(duì)maven1的一個(gè)轉(zhuǎn)接倉(cāng)庫(kù)茄猫,現(xiàn)在對(duì)我們來(lái)說(shuō)沒(méi)什么用處狈蚤,此處不再講解。

  • (2)hosted倉(cāng)庫(kù)都是內(nèi)部項(xiàng)目的發(fā)布倉(cāng)庫(kù)划纽。在hosted倉(cāng)庫(kù)中release表示內(nèi)部項(xiàng)目的release模塊的發(fā)布倉(cāng)庫(kù)脆侮,snapshots類似。3rd party表示第三方依賴的倉(cāng)庫(kù)勇劣,這個(gè)數(shù)據(jù)通常是由內(nèi)部人員自行下載之后發(fā)布上去的靖避,也就是不能自動(dòng)在中央倉(cāng)庫(kù)中下載,比如Orecla依賴包比默。

  • (3)proxy類型倉(cāng)庫(kù)就是代理倉(cāng)庫(kù)幻捏,也就是要從遠(yuǎn)程中央倉(cāng)庫(kù)尋找數(shù)據(jù)的倉(cāng)庫(kù)。Apache Snapshot表示的是Apache的快照版本的倉(cāng)庫(kù)命咐,Center表示中央倉(cāng)庫(kù)粘咖,點(diǎn)擊下面的Configuration可以看到中央倉(cāng)庫(kù)的地址,我們可以更改侈百。Codehaus Snapshot表示另一個(gè)開源組織Codehaus的快照版本倉(cāng)庫(kù)。

  • (4)group倉(cāng)庫(kù)翰铡。組倉(cāng)庫(kù)用來(lái)方便開發(fā)人員進(jìn)行設(shè)置的倉(cāng)庫(kù)钝域。也就是一個(gè)私有倉(cāng)庫(kù)。以后我們所有的下載都從此倉(cāng)庫(kù)中進(jìn)行下載锭魔。

三例证、配置

選中某個(gè)倉(cāng)庫(kù),在下面出現(xiàn)列表Configuration中我們下拉可以看到Ordered Group Repositories這一項(xiàng)迷捧,表示我們這個(gè)組中有列表中的倉(cāng)庫(kù)织咧,以后我們下載依賴包就只需要去找Public Repositories也就是group這個(gè)倉(cāng)庫(kù)(之后我們會(huì)進(jìn)行設(shè)置),它下面包含了很多中央倉(cāng)庫(kù)(這樣我們?cè)?code>pom/xml文件中就不需要配置很多中央倉(cāng)庫(kù)了)漠秋,分別下載不同類型的依賴包笙蒙,旁邊兩個(gè)沒(méi)有加進(jìn)來(lái)的我們可以自己加入進(jìn)來(lái)。

  • (1)配置:在我們的項(xiàng)目中我們不需要管什么中央倉(cāng)庫(kù)庆锦,統(tǒng)統(tǒng)交給group這個(gè)倉(cāng)庫(kù)給我們管理
<repository>
        <id>nexus</id>
        <name>Nexus Repo</name>
        <url>http://localhost:8082/nexus/content/groups/public/</url>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
</repository>

在項(xiàng)目的parent模塊中(user-parent)中進(jìn)行上面的配置捅位,其中urlgroup倉(cāng)庫(kù)的地址,最后兩項(xiàng)表示允許下載release版本和Snapshot版本的依賴包搂抒。默認(rèn)的中央倉(cāng)庫(kù)中Snapshot版本是不能下載的艇搀。

  • (2)鏡像配置
    maven安裝包的settings.xml中進(jìn)行配置,注意:這個(gè)文件是我們自己本地倉(cāng)庫(kù)的里面的那個(gè)設(shè)置文件求晶,而不是maven/conf中的那個(gè)配置文件焰雕。
<mirror>
      <id>central</id>
      <!--號(hào)表示所有的工廠都加鏡像,如果不想為所有工廠做鏡像芳杏,請(qǐng)使用id矩屁,使用逗號(hào)分隔-->
      <!--<mirrorOf>central, nexus</mirrorOf>不建議-->
      <mirrorOf>*</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://localhost:8082/nexus/content/groups/public/</url>
    </mirror>

放在<mirrors>標(biāo)簽中辟宗。

  • (3)測(cè)試一下
    我們可以找一個(gè)項(xiàng)目中沒(méi)有的依賴包添加進(jìn)去,在user-parent中:
<dependency>
        <groupId>mockobjects</groupId>
        <artifactId>mockobjects-alt-jdk1.3</artifactId>
        <version>0.09</version>
</dependency>

user-core中:

<dependency>
        <groupId>mockobjects</groupId>
        <artifactId>mockobjects-alt-jdk1.3</artifactId>
</dependency>

之后我們刷新nexusBrowse Index可以看到:

2

可以看到其配置信息就出現(xiàn)在我們的服務(wù)器上了档插。以后我們就不一定每次都去外面的工廠中找了慢蜓。私服是更具索引去找依賴的,但是有時(shí)候可能索引的版本太低郭膛,不符合要求晨抡,此時(shí)我們需要更新索引。

  • (4)更新索引
    • 一種方式是選中Central倉(cāng)庫(kù)在Configuration中將Download Remote Indexes的值設(shè)置為true则剃,此時(shí)就會(huì)自動(dòng)幫我們更新耘柱,但是速度會(huì)很慢。
      3
    • 另一種方式是手動(dòng)更新棍现。方法是
      http://repo1.maven.org/maven2/.index/下載下面兩個(gè)文件
nexus-maven-repository-index.properties  
nexus-maven-repository-index.gz

同時(shí)在

http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.maven.indexer%22%20AND%20a%3A%22indexer-cli%22

下載indexer-cli-5.1.1.jar调煎。
將下載的三個(gè)文件放在同一個(gè)目錄(E:\nexus-2.11.4-01-bundle\index)下,然后通過(guò)DOS進(jìn)入此目錄中己肮,使用命令
java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer
將壓縮文件解壓士袄,之后在indexer目錄下會(huì)看到很多文件。此時(shí)我們先將nexus關(guān)閉谎僻,然后將這些文件拷貝到
E:\nexus-2.11.4-01-bundle\sonatype-work\nexus\indexer\central-ctx
目錄下(將原來(lái)的所有文件都刪除)娄柳。之后啟動(dòng)nexus,可以在Browse Index中看到很多索引艘绍,我們之后可以自己更新這些索引赤拒,右鍵Central點(diǎn)擊Update Index即可。

然后我們可以在搜索框中搜索我們想要的索引诱鞠,不需要去其他地方搜索了挎挖。比如我們搜索spring web會(huì)出來(lái)很多結(jié)果,然后選擇org.springframework中的一個(gè):

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-web</artifactId>
  <version>4.2.5.RELEASE</version>
</dependency>

加入到user-parentuser-core中航夺,之后我們?cè)?code>Browse Storage中就可以找到:

4

注意:如果我們將本地group倉(cāng)庫(kù)的配置去掉蕉朵,還是會(huì)下載的,因?yàn)樵?code>maven的包中本身默認(rèn)配置了一個(gè)中央倉(cāng)庫(kù)了阳掐。但是這個(gè)倉(cāng)庫(kù)默認(rèn)將Snapshot關(guān)閉了墓造,所以我們需要在項(xiàng)目中進(jìn)行設(shè)置。
但是這樣每次都要在項(xiàng)目中進(jìn)行配置锚烦,每個(gè)模塊都要配置比較麻煩觅闽,所以我們需要在本地倉(cāng)庫(kù)中setttings.xml中進(jìn)行配置:

<profile>
      <id>central-repos</id>
      <repositories>
        <repository>
          <id>central</id>
          <name>central</name>
          <url>http://central</url>
          <snapshots><enabled>true</enabled></snapshots>
          <releases><enabled>true</enabled></releases>
        </repository>
      </repositories>
</profile>

放在<profiles>標(biāo)簽中。注意:配置了鏡像之后<url>就沒(méi)有意義了涮俄,隨便填一個(gè)(這項(xiàng)卻不能少)蛉拙,但是還需要在setttings.xml最后配置:

<activeProfiles>
    <activeProfile>central-repos</activeProfile>
</activeProfiles>

將配置激活。

四彻亲、項(xiàng)目發(fā)布

  • 在本地倉(cāng)庫(kù)的setttings.xml中配置發(fā)布權(quán)限:
<!--配置用戶發(fā)布快照版本的權(quán)限-->
<server>
      <id>user-snapshots</id>
      <username>deployment</username>
      <password>deployment123</password>
    </server>
    <!--配置用戶發(fā)布release版本的權(quán)限-->
     <server>
      <id>user-releases</id>
      <username>deployment</username>
      <password>deployment123</password>
</server>

放在<servers>標(biāo)簽中孕锄。這里其實(shí)就是給我們發(fā)布時(shí)的權(quán)限吮廉。

  • user-parent中配置
    <distributionManagement>
        <snapshotRepository>
            <id>user-snapshots</id>
            <name>User Project SNAPSHOTS</name>
            <url>http://localhost:8082/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>

        <repository>
            <id>user-releases</id>
            <name>User Project Release</name>
            <url>http://localhost:8082/nexus/content/repositories/releases/</url>
        </repository>
    </distributionManagement>

注意:上面配置的其實(shí)就是我們的項(xiàng)目發(fā)布到哪個(gè)倉(cāng)庫(kù),這里配置的是releasessnapshots畸肆,當(dāng)然在發(fā)布之前我們需要在這兩個(gè)倉(cāng)庫(kù)的配置中配置允許發(fā)布宦芦。將Deployment policy設(shè)置為Allow Redeploy,然后保存即可轴脐。

5

6

注意:此配置中的id需要和maven倉(cāng)庫(kù)settings.xml中的id對(duì)應(yīng)调卑,同時(shí)url就是nexus中快照倉(cāng)庫(kù)和release倉(cāng)庫(kù)的地址。然后使用命令clean deploy進(jìn)行發(fā)布大咱。因?yàn)槲覀儼l(fā)布的是快照版本恬涧,所以選中Snapshots中的Browse Storage刷新之后可以看到我們發(fā)布的項(xiàng)目。
7

五碴巾、創(chuàng)建項(xiàng)目工廠和設(shè)置權(quán)限

在以后的項(xiàng)目開發(fā)中我們不能將所有的模塊一下子全部發(fā)布到公共的哪個(gè)releaseSnapshots倉(cāng)庫(kù)中溯捆,那樣不便于管理,而且有可能沖突厦瓢,所以我們一般將一些公共的模塊發(fā)布到公共的releaseSnapshots倉(cāng)庫(kù)中提揍,而一些特殊的模塊發(fā)布到我們自己的倉(cāng)庫(kù)中,所以我們需要?jiǎng)?chuàng)建自己的倉(cāng)庫(kù)煮仇,這樣有利于管理劳跃。

  • (1)創(chuàng)建一個(gè)自己的release版本發(fā)布工廠和快照版本發(fā)布工廠
    點(diǎn)擊Add選擇Hosted Repository,選中之后在下面填寫相關(guān)信息:

    8

    其中第一項(xiàng)和第二項(xiàng)是我們自己填的欺抗,然后選擇允許發(fā)布(默認(rèn)是不允許的)即可點(diǎn)擊save保存。注意:最后一項(xiàng)如果是release版本就選擇release强重,如果是Snapshot就選擇Snapshot绞呈。而快照版本的工廠建立類似。
    9

    這樣我們就建立好了兩個(gè)我們自己私有的倉(cāng)庫(kù)
    10

  • (2)為上面兩個(gè)工廠打開權(quán)限
    點(diǎn)擊Security中的Privileges间景,然后點(diǎn)擊Add佃声,在下面填寫相關(guān)信息:

    11

    注意:最好不要寫中文。名字我們可以任取倘要,最后和項(xiàng)目工廠id一樣圾亏,工廠選擇我們release版本工廠的名字,最后一項(xiàng)按圖中選擇封拧。點(diǎn)擊save保存志鹃。對(duì)于快照版本的類似:
    12

    注意:配置完之后在上面要出現(xiàn)我們配置的權(quán)限才算成功:
    13

  • (3)創(chuàng)建角色并且分配權(quán)限
    選擇Security中的Roles,點(diǎn)擊Add泽西,然后進(jìn)行添加:

    14

    Role IdName由我們自己填寫曹铃。注意:不要寫中文。然后點(diǎn)擊Add捧杉,之后我們需要選擇剛才添加的權(quán)限陕见,這里我們只創(chuàng)建一個(gè)角色秘血,所以將快照和release權(quán)限都選中(我們可以在輸入框中輸入My,然后點(diǎn)擊過(guò)濾Apply Filter)评甜,點(diǎn)擊ok灰粮,之后點(diǎn)擊save保存。

  • (4)創(chuàng)建用戶
    點(diǎn)擊Security中的Users忍坷,點(diǎn)擊Add

    15

    Status中需要選擇Active粘舟,然后點(diǎn)擊Add,選擇我們剛才創(chuàng)建的角色承匣。保存即可蓖乘。密碼是123456

  • (5)創(chuàng)建發(fā)布工廠
    當(dāng)我們建立好自己的發(fā)布工廠之后我們就不要發(fā)布到以前那兩個(gè)倉(cāng)庫(kù)中了,所以需要將user-parent中的配置地址改動(dòng)

<distributionManagement>
        <snapshotRepository>
            <id>user-snapshots</id>
            <name>User Project SNAPSHOTS</name>
            <!-- <url>http://localhost:8082/nexus/content/repositories/snapshots/</url> -->
            <url>http://localhost:8082/nexus/content/repositories/MyUserReposSnapshots/</url>
        </snapshotRepository>

        <repository>
            <id>user-releases</id>
            <name>User Project Release</name>
            <!-- <url>http://localhost:8082/nexus/content/repositories/releases/</url> -->
            <url>http://localhost:8082/nexus/content/repositories/MyUserReposRelease/</url>
        </repository>
</distributionManagement>

這里改動(dòng)之后我們?cè)?code>settings.xml中也需要改動(dòng):

    <!--配置用戶發(fā)布快照版本的權(quán)限-->
     <server>
      <id>user-snapshots</id>
      <!--<username>deployment</username>-->
       <username>kh</username>
      <!--<password>deployment123</password>-->
       <password>123456</password>
    </server>
    <!--配置用戶發(fā)布release版本的權(quán)限-->
     <server>
      <id>user-releases</id>
      <!--<username>deployment</username>-->
       <username>kh</username>
      <!--<password>deployment123</password>-->
       <password>123456</password>
    </server>

當(dāng)然這里我們只是做一個(gè)試驗(yàn)韧骗,名字和密碼我們可以自己進(jìn)行配置嘉抒。
配置完之后再次進(jìn)行發(fā)布,我們可以看到

16

當(dāng)然對(duì)于一些公共模塊袍暴,比如user-log模塊些侍,我們需要配置

    <distributionManagement>
        <snapshotRepository>
            <id>user-snapshots</id>
            <name>User Project SNAPSHOTS</name>
            <url>http://localhost:8082/nexus/content/repositories/snapshots/</url> 
        </snapshotRepository>

        <repository>
            <id>user-releases</id>
            <name>User Project Release</name>
            <url>http://localhost:8082/nexus/content/repositories/releases/</url> 
        </repository>
    </distributionManagement>

我們這樣配置之后就會(huì)將user-parent中的配置覆蓋掉,這樣就發(fā)布到公共的倉(cāng)庫(kù)中了政模。

補(bǔ):如果公司不能訪問(wèn)外網(wǎng)岗宣,則需要配置代理,配置之后一定記得將本地倉(cāng)庫(kù)_remote.repositories淋样、**.pom.lastUpdated文件全部刪除耗式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市趁猴,隨后出現(xiàn)的幾起案子刊咳,更是在濱河造成了極大的恐慌,老刑警劉巖儡司,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娱挨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡捕犬,警方通過(guò)查閱死者的電腦和手機(jī)跷坝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)碉碉,“玉大人柴钻,你說(shuō)我怎么就攤上這事孩锡∩肜剑” “怎么了玉控?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵混弥,是天一觀的道長(zhǎng)狸窘。 經(jīng)常有香客問(wèn)我脯丝,道長(zhǎng)脓钾,這世上最難降的妖魔是什么尼夺? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮绍些,結(jié)果婚禮上捞慌,老公的妹妹穿的比我還像新娘。我一直安慰自己柬批,他們只是感情好啸澡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著氮帐,像睡著了一般嗅虏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上上沐,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天皮服,我揣著相機(jī)與錄音,去河邊找鬼参咙。 笑死龄广,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蕴侧。 我是一名探鬼主播择同,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼净宵!你這毒婦竟也來(lái)了敲才?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤择葡,失蹤者是張志新(化名)和其女友劉穎紧武,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刁岸,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡脏里,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年她我,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虹曙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡番舆,死狀恐怖酝碳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恨狈,我是刑警寧澤疏哗,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站禾怠,受9級(jí)特大地震影響返奉,放射性物質(zhì)發(fā)生泄漏贝搁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一芽偏、第九天 我趴在偏房一處隱蔽的房頂上張望雷逆。 院中可真熱鬧,春花似錦污尉、人聲如沸膀哲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)某宪。三九已至,卻和暖如春锐朴,著一層夾襖步出監(jiān)牢的瞬間兴喂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工包颁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瞻想,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓娩嚼,卻偏偏與公主長(zhǎng)得像蘑险,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子岳悟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理佃迄,服務(wù)發(fā)現(xiàn),斷路器贵少,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • |-1-更新內(nèi)容[6.從倉(cāng)庫(kù)解析依賴的機(jī)制(重要)] 1Maven倉(cāng)庫(kù)作用 倉(cāng)庫(kù)用來(lái)存儲(chǔ)所有項(xiàng)目使用到構(gòu)件呵俏,在ma...
    zlcook閱讀 6,032評(píng)論 0 25
  • 首先私服是一種衍生出來(lái)的特殊的Maven遠(yuǎn)程倉(cāng)庫(kù),構(gòu)建私服的好處請(qǐng)看3.5私服 可以幫助大家建立私服的倉(cāng)庫(kù)管理軟件...
    zlcook閱讀 10,535評(píng)論 0 32
  • 持續(xù)集成篇--Maven私有庫(kù)和本地庫(kù)的安裝與配置 如果構(gòu)建的Maven 項(xiàng)目本地倉(cāng)庫(kù)沒(méi)有對(duì)應(yīng)的依賴包滔灶,那么就會(huì)去...
    ylcoder閱讀 727評(píng)論 1 4
  • 要說(shuō)這也是當(dāng)時(shí)那片兒長(zhǎng)久以來(lái)都樸實(shí)如黃土的地界上最曲折糾纏也最有些轟動(dòng)的一件普碎。 說(shuō)是張老二托人在老家給說(shuō)了個(gè)媳婦,...
    斑錦閱讀 19,559評(píng)論 4 12