Maven&Intellij IDEA打jar包以及創(chuàng)建scala project

1.Maven

1.1 Maven依賴:

進(jìn)入這個網(wǎng)址查jar包依賴
http://mvnrepository.com/
將xml代碼復(fù)制到你的pom.xml中即可。

如果有時候用的是別人的代碼滑燃。
可以打開pom.xml文件役听,按“alt + insert”,
彈出:



點擊dependency



搜索缺少的包,點擊“add”典予。
idea中在這里配置自己的maven(maven甜滨,設(shè)置文件,本地倉庫)瘤袖,有時候自己配置的新版本的maven會有不兼容的問題衣摩,也可以用idea自帶的。

1.2 Maven 常用指令:

常用命令為 :

1.mvn archetype:create :創(chuàng)建 Maven 項目
2.mvn compile :編譯源代碼
3.mvn clean compile:清理并編譯
4.mvn test-compile :編譯測試代碼
5.mvn test : 運行應(yīng)用程序中的單元測試
6.mvn site : 生成項目相關(guān)信息的網(wǎng)站
7.mvn clean :清除目標(biāo)目錄中的生成結(jié)果
8.mvn package : 依據(jù)項目生成 jar 文件
9.mvn deploy:生成jar文件并上傳到本地和私服倉庫
10.mvn install    在本地repository中安裝jar(包含mvn compile捂敌,mvn package艾扮,然后上傳到本地倉庫)

有時候需要把自己的包上傳到本地maven作為依賴包。

如果需要在里面加入外部的jar包占婉,需要在maven中安裝泡嘴。
進(jìn)入maven的bin文件夾,如果配置了環(huán)境變量不在bin文件夾也可以逆济,用指令安裝該jar包酌予,Dfile參數(shù)可以寫入文件的路徑,但是我試了一下失敗了奖慌,cd到該文件目錄下抛虫,不寫路徑安裝就成功了。
在IDEA終端中輸入:
mvn install:install-file -Dfile=xgboost4j-spark-0.7.jar -DgroupId=ml.dmlc -DartifactId=xgboost4j -Dversion=0.7 -Dpackaging=jar
mvn install:install-file -Dfile=scopt_2.10-3.3.0.jar -DgroupId=com.github.scopt -DartifactId=scopt_2.10 -Dversion=3.3.0 -Dpackaging=jar
再添加依賴就正常了
<dependency>
<groupId>com.github.scopt</groupId>
<artifactId>scopt_2.10</artifactId>
<version>3.3.0</version>
</dependency>

-Dfile:包的本地真實地址(如果在當(dāng)前文件夾下简僧,直接寫名字)
-DgroupId:pom.xml中g(shù)roupId
-DartifactId:pom.xml中artifactId
-Dversion:pom.xml中版本號
-Dpackaging:jar或war莱褒,包的后綴名
-Dclassifier:兄弟包的別名,也就是-Dversion值后面的字符workspace-1.1.1-SNAPSHOT-core.jar的-core涎劈,我沒有用到广凸。

第一種方法:

在本地 Repository 中安裝 jar。
Dfile參數(shù)是該jar包的全路徑蛛枚,-DartifactId谅海、-Dversion等屬性要與pom.xml文件中的依賴屬性一致:
Dfile路徑最好是直接在D盤C盤這種文件夾下面,試過把文件放在桌面上蹦浦,發(fā)現(xiàn)識別不了
-Dversion= pom.xml中的版本號
-DartifactId=pom.xml中的artifactId
-DgroupId=pom.xml中的groupId

mvn install
(mvn install:install-file -Dfile=新框架.jar -DgroupId=com. xx.xx -DartifactId=NAME -Dversion=0.0.1 -Dpackaging=jar  -DgeneratePom=true)

mvn install:install-file -Dfile=xgboost4j-0.7.jar -DgroupId=ml.dmlc -DartifactId=xgboost4j -Dversion=0.7 -Dpackaging=jar

如果顯示build success扭吁,則安裝成功了,可以去maven的本地目錄查看一下文件是否生成盲镶。

第二種方法

讀取系統(tǒng)本地的jar包侥袜,改依賴中的參數(shù)即可。

    <dependency>    
      <groupId>org.jblas</groupId>     
        <artifactId>jblas</artifactId>   
          <version>1.2.3</version>     
      <scope>system</scope>
    <systemPath>${basedir}/*****.jar</systemPath>
    </dependency>

install&package&deploy的區(qū)別
package命令完成了項目編譯溉贿、單元測試枫吧、打包功能。用于生成jar包宇色。
install完成package的功能以后九杂,同時把打好的可執(zhí)行jar包布署到本地maven倉庫颁湖,這樣可以通過修改maven依賴來使用。
deploy完成install功能以后例隆,同時把打好的可執(zhí)行jar包布署到本地maven倉庫和遠(yuǎn)程maven私服倉庫甥捺。

2.用Intellij IDEA 打包jar

如果之前已經(jīng)打過jar包的話,先刪除META-INF文件夾下的MANIFEST.MF配置文件镀层,才能重新生成jar包镰禾。

2.1.File->Project Structure->Artifacts->Add->Jar->From modules with dependencies

ctrl + alt + shift +s或者點擊圖標(biāo)



來打開Project Structure。

然后,點擊add光標(biāo)

來添加jar包唱逢。

2.2.配置

第一步選擇Main函數(shù)執(zhí)行的類羡微。



第二步選擇如圖的選項,目的是對第三方Jar包打包時做額外的配置惶我,如果不做額外的配置可不選這個選項(但不保證打包成功)



第三步刪除不需要的模塊
按住shift點擊不需要的模塊,然后點擊remove刪除博投。

通常是留下最后的文件夾绸贡,其他全部刪除。



第三步點擊build毅哗,然后選擇build artifacts,就能在out文件夾里找到j(luò)ar包听怕。

2.3.直接打包

使用IDEA + Maven 創(chuàng)建scala項目時,勾選Create for archetype虑绵,找到org.scala-tools.archetypes:scala-archetype-simple然后點next尿瞭。
創(chuàng)建完項目以后出現(xiàn):Maven projects need to be imported
選擇Enable Auto-Import,這樣就會自動配置pom.xml文件
右邊會出現(xiàn)Maven Projects翅睛,點開里面會有運行編譯測試等等功能声搁。

點擊build(ctrl + F9)


windows build快捷鍵

mac build快捷鍵

再點擊package



jar包就會出現(xiàn)在target文件夾下。

注意事項:

此方法需要刪除test文件夾捕发,否則打包的時候會報錯疏旨。

如果不打算刪除test文件夾,那么需要再對應(yīng)pom.xml文件目錄中構(gòu)建這兩個文件夾路徑扎酷。(src/main/scala和src/test/scala)

    <build>
      <sourceDirectory>src/main/scala</sourceDirectory>
      <testSourceDirectory>src/test/scala</testSourceDirectory>
    </build>
另外<properties>中可能指定了scala版本之類的信息:
    <properties>
        <spark.version>2.2.1</spark.version>
        <scala.version>2.11.8</scala.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

如果package時打包出錯檐涝,并出現(xiàn)scala版本的問題可以把<properties>這一項改成:

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>
如果Maven Project 這一欄隱藏了,點擊搜索圖標(biāo)

搜索 Maven Project,再點擊即可法挨。

3.IDEA加載github下載的java谁榜,scala項目

代碼通過git clone或者下載zip得到

3.1 打開

選擇 File-->Open... 打開下載的項目

3.2 配置JDK

File--> Project Structure ---> Project---->選擇JDK (不能選就new一個選中本機(jī)JDK)

3.3 選擇 Modules

Project Structure界面,設(shè)置目錄凡纳。
target或out設(shè)置Excluded窃植,src設(shè)置Sources


3.4 程序包junit.framework不存在

編譯時會報錯,報“junit.framework不存在”錯誤荐糜。
一般來說pom中有junit包的依賴撕瞧,但是有scope屬性陵叽。

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>

依賴加入scope屬性后,就會被約束在該生命周期內(nèi)丛版,在compile階段不引入test階段的依賴巩掺,也就是說編譯階段該依賴無效∫称瑁可以刪除scope胖替,或者修改scope屬性:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>compile</scope>
</dependency>

4.創(chuàng)建scala project

4.1.新建project,并勾選
4.2.按兩下shift搜索scala-archetype-simple


4.3.修改pom依賴

通常我這邊依賴寫成:

<dependencies>
  <dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.11.0</version>
  </dependency>

  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.2.1</version>
  </dependency>

  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-mllib_2.11</artifactId>
    <version>2.2.1</version>
  </dependency>

  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.11</artifactId>
    <version>2.1.1</version>
  </dependency>

  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-hive_2.11</artifactId>
    <version>2.1.1</version>
  </dependency>
  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming_2.11</artifactId>
    <version>2.2.0</version>
  </dependency>
  <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>2.4.1</version>
  </dependency>
  <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-yarn-client</artifactId>
    <version>2.4.1</version>
  </dependency>

  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.4</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.specs</groupId>
    <artifactId>specs</artifactId>
    <version>1.2.5</version>
    <scope>test</scope>
  </dependency>
</dependencies>

有時候會報錯
expected START_TAG or END_TAG not TEXT
這是依賴前面有空格造成的豫缨,刪除空格以后直接回車独令。


有時候
為了避免沖突,需要用<exclusions>剔除部分jar包好芭。
例如已經(jīng)引入了hadoop-client依賴燃箭,而spark-core中含有hadoop-client包,則可以使用<exclusions>剔除

   <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-client</artifactId>
      <version>${hadoop.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.11</artifactId>
      <version>${spark.version}</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-client</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

其中Spark-Core提供Spark最基礎(chǔ)與最核心的功能舍败,主要包括以下功能:
(1)SparkContext:
通常而言招狸,Driver Application的執(zhí)行與輸出都是通過SparkContext來完成的。在正式提交Application之前邻薯,首先需要初始化SparkContext裙戏。SparkContext隱藏了網(wǎng)絡(luò)通信、分布式部署厕诡、消息通信累榜、存儲能力、計算能力灵嫌、緩存壹罚、測量系統(tǒng)、文件服務(wù)寿羞、Web服務(wù)等內(nèi)容渔嚷,應(yīng)用程序開發(fā)者只需要使用SparkContext提供的API完成功能開發(fā)。SparkContext內(nèi)置的DAGScheduler負(fù)責(zé)創(chuàng)建Job稠曼,將DAG中的RDD劃分到不同的Stage形病,提交Stage等功能。內(nèi)置的TaskScheduler負(fù)責(zé)資源的申請霞幅,任務(wù)的提交及請求集群對任務(wù)的調(diào)度等工作漠吻。
(2)存儲體系:
Spark優(yōu)先考慮使用各節(jié)點的內(nèi)存作為存儲,當(dāng)內(nèi)存不足時才會考慮使用磁盤途乃,這極大地減少了磁盤IO,提升了任務(wù)執(zhí)行的效率扔傅,使得Spark適用于實時計算试读、流式計算等場景。此外倘屹,Spark還提供了以內(nèi)存為中心的高容錯的分布式文件系統(tǒng)Tachyon供用戶進(jìn)行選擇纽匙。Tachyon能夠為Spark提供可靠的內(nèi)存級的文件共享服務(wù)务蝠。
(3)計算引擎:
計算引擎由SparkContext中的DAGScheduler、RDD以及具體節(jié)點上的Executor負(fù)責(zé)執(zhí)行的Map和Reduce任務(wù)組成烛缔。DAGScheduler和RDD雖然位于SparkContext內(nèi)部馏段,但是在任務(wù)正式提交與執(zhí)行之前會將Job中的RDD組織成有向無環(huán)圖(DAG),并對Stage進(jìn)行劃分力穗,決定了任務(wù)執(zhí)行階段任務(wù)的數(shù)量、迭代計算气嫁、shuffle等過程当窗。
(4)部署模式:
由于單節(jié)點不足以提供足夠的存儲和計算能力,所以作為大數(shù)據(jù)處理的Spark在SparkContext的TaskScheduler組件中提供了對Standalone部署模式的實現(xiàn)和Yarn寸宵、Mesos等分布式資源管理系統(tǒng)的支持崖面。通過使用Standalone、Yarn梯影、Mesos等部署模式為Task分配計算資源巫员,提高任務(wù)的并發(fā)執(zhí)行效率。

4.4.插件(maven-shade-plugin,maven-jar-plugin)

有的時候需要引用一些外部包或者文件甲棍,需要把集群中沒有的庫或者文件一起打進(jìn)jar包简识。例如可以用shade把分詞工具ansj打進(jìn)jar包:
maven-jar-plugin
使用maven-jar-plugin這個插件可以去掉一些不想要的文件或者類。

           <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <version>3.1.0</version>
                 <configuration>
                     <archive>
                         <manifest>
                             <!-- 指定入口函數(shù) -->
                             <mainClass>com.main.Jar</mainClass>
                             <!-- 是否添加依賴的jar路徑配置 -->
                            <addClasspath>true</addClasspath>
                             <!-- 依賴的jar包存放未知感猛,和生成的jar放在同一級目錄下 -->
                             <classpathPrefix>lib/</classpathPrefix>
                         </manifest>
                     </archive>
                     <!-- 不打包com.library下面的所有文件或類 -->
                     <excludes>com.library/*</excludes>
                 </configuration>
            </plugin>

maven-shade-plugin
依賴:
為了防止打出來的jar包占用太大空間七扰,已有的包不需要使用shade打包,集群中沒有的才需要陪白。在已經(jīng)有的包后面加上<scope>provided</scope>颈走,這樣這些庫就不會被打包,沒有這句的包會打進(jìn)jar包咱士。

<dependencies>
  <dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.11.0</version>
  </dependency>

  <dependency>
      <groupId>org.ansj</groupId>
      <artifactId>ansj_seg</artifactId>
      <version>5.1.1</version>
  </dependency>

  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
  </dependency>

  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-mllib_2.11</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
  </dependency>

  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.11</artifactId>
<version>2.1.1</version>
<scope>provided</scope>
  </dependency>

  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-hive_2.11</artifactId>
<version>2.1.1</version>
<scope>provided</scope>
  </dependency>

  <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-yarn-client</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
  </dependency>

  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.4</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.specs</groupId>
    <artifactId>specs</artifactId>
    <version>1.2.5</version>
    <scope>test</scope>
  </dependency>
</dependencies>

  <build>
//插件
    <plugins>
      <!-- the Maven compiler plugin will compile Java source files 編譯JAVA的插件-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.0.2</version>
        <configuration>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>

      <!-- the Maven Scala plugin will compile Scala source files 編譯scala插件-->
      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <version>3.2.2</version>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- configure the eclipse plugin to generate eclipse project descriptors for a Scala project -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.10</version>
        <configuration>
          <projectnatures>
            <projectnature>org.scala-ide.sdt.core.scalanature</projectnature>
            <projectnature>org.eclipse.jdt.core.javanature</projectnature>
          </projectnatures>
          <buildcommands>
            <buildcommand>org.scala-ide.sdt.core.scalabuilder</buildcommand>
          </buildcommands>
          <classpathContainers>
            <classpathContainer>org.scala-ide.sdt.launching.SCALA_CONTAINER</classpathContainer>
            <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
          </classpathContainers>
          <excludes>
            <exclude>org.scala-lang:scala-library</exclude>
            <exclude>org.scala-lang:scala-compiler</exclude>
          </excludes>
          <sourceIncludes>
            <sourceInclude>**/*.scala</sourceInclude>
            <sourceInclude>**/*.java</sourceInclude>
          </sourceIncludes>
        </configuration>
      </plugin>

      <!-- allows the route to be run via 'mvn exec:java' -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.6.0</version>
        <configuration>
          <mainClass>UP.MyRouteMain</mainClass>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>true</shadedArtifactAttached>
//有時候需要同時部署使用shade和不使用shade兩種jar包
//那么在shadedClassifierName后加上名稱立由,該名稱作為后綴在shade構(gòu)件jar包后
              <shadedClassifierName>wangyao</shadedClassifierName>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

4.5. 更新插件
Intellj Idea 可以自動載入Maven依賴轧钓,但有使用Mac book的時候常常會碰到問題,導(dǎo)致pom文件修改卻沒有觸發(fā)自動重新載入的動作锐膜。點擊Maven Project=》你的項目名稱=》Plugins毕箍,一些插件下面有紅色下劃線且尾部帶有"unknow",此時就需要手動強(qiáng)制更新依賴枣耀。
兩個方法:
(1)右鍵單擊項目霉晕;
(2)點擊Maven=》Reimport菜單項。


或者捞奕,IDEA將通過網(wǎng)絡(luò)自動下載相關(guān)依賴牺堰,并存放在Maven的本地倉庫中。另外颅围,可以將Maven的刷新設(shè)置為自動伟葫,配置方法為:

(1)單擊File|Setting菜單項,打開Settings選項卡院促;
(2)在左側(cè)的目錄樹中筏养,展開Maven節(jié)點;
(3)勾選Import Maven projects automatically選擇項常拓。
(4) 項目右鍵-》Maven-》Reimport
(5) 操作之后你就可以發(fā)現(xiàn)maven的依賴包已經(jīng)更新渐溶!

4.6 Maven鏡像

在maven里創(chuàng)建MyRepository目錄,
我一般叫maven-dependcies弄抬,那就是<localRepository>D:/maven-dependcies</localRepository>
打開maven下的conf\settings.xml茎辐,如果是idea自帶的要去idea的插件里面找maven,在conf文件夾里掂恕。
在<settings>后面加上
<localRepository>maven路徑/MyRepository</localRepository>
對應(yīng)自己MyRepository的路徑拖陆。

國外源下載太慢,在setting.xml中mirrors節(jié)點中增加一段代碼:

 <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
 </mirror> 

使用阿里云的鏡像速度會更快懊亡。

5.新建package



6.在package里新建scala object


7.package顯示
有的時候package是疊在一起的依啰,沒法再一個package下創(chuàng)建多個子package。
點擊小齒輪店枣,然后把Hide Empty Middle Packages取消就可以了


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末速警,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鸯两,更是在濱河造成了極大的恐慌坏瞄,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甩卓,死亡現(xiàn)場離奇詭異鸠匀,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)逾柿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門缀棍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宅此,“玉大人,你說我怎么就攤上這事爬范「竿螅” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵青瀑,是天一觀的道長焕盟。 經(jīng)常有香客問我罩引,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任涩咖,我火速辦了婚禮棍鳖,結(jié)果婚禮上扛点,老公的妹妹穿的比我還像新娘透葛。我一直安慰自己,他們只是感情好镀裤,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布竞阐。 她就那樣靜靜地躺著,像睡著了一般暑劝。 火紅的嫁衣襯著肌膚如雪骆莹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天担猛,我揣著相機(jī)與錄音幕垦,去河邊找鬼。 笑死毁习,一個胖子當(dāng)著我的面吹牛智嚷,可吹牛的內(nèi)容都是我干的卖丸。 我是一名探鬼主播纺且,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼稍浆!你這毒婦竟也來了载碌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤衅枫,失蹤者是張志新(化名)和其女友劉穎嫁艇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弦撩,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡步咪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了益楼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猾漫。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡点晴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悯周,到底是詐尸還是另有隱情粒督,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布禽翼,位于F島的核電站屠橄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闰挡。R本人自食惡果不足惜锐墙,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望解总。 院中可真熱鬧贮匕,春花似錦、人聲如沸花枫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敦锌。三九已至佳簸,卻和暖如春听想,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背佩脊。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工威彰, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留出牧,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓歇盼,卻偏偏與公主長得像舔痕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

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