欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解用maven將dubbo工程打成jar包運(yùn)行

 更新時(shí)間:2019年04月29日 15:01:15   作者:sf4y  
這篇文章主要介紹了詳解用maven將dubbo工程打成jar包運(yùn)行,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

maven打包方式

使用maven打包插件maven-jar-plugin

pom.xml文件最后新增以下代碼。

maven-dependency-plugin是指將依賴的jar包復(fù)制到指定目錄

maven-resources-plugin將依賴的resources復(fù)制到指定目錄

 <build>
    <plugins>
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-jar-plugin</artifactId> 
        <version>2.6</version> 
        <configuration> 
          <archive> 
            <manifest> 
            <!--  是否依賴外部jar包 -->
              <addClasspath>true</addClasspath> 
              <!-- 依賴外部jar包路徑 -->
              <classpathPrefix>lib/</classpathPrefix> 
 <!-- 啟動(dòng)函數(shù) -->              <mainClass>com.alibaba.dubbo.container.Main</mainClass> 
            </manifest> 
          </archive> 
           <!-- 打包之后輸出目錄 --> 
          <outputDirectory>${project.build.directory}/maven-archiver</outputDirectory>
<!--  剔除已打包的配置文件 -->
           <excludes>
             <exclude>*.*</exclude>
             <exclude>config/*</exclude>
             <exclude>config/tencent/*</exclude>
             <exclude>META-INF/spring/*</exclude>
           </excludes>
        </configuration> 
      </plugin> 

<!--       拷貝依賴的jar包到lib目錄 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>
                ${project.build.directory}/maven-archiver/lib
              </outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
<!--  拷貝依賴的資源文件包到resources目錄 -->
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>package</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/maven-archiver/resources</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/src/main/resources</directory>
                  <filtering>true</filtering>

                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

運(yùn)行jar包方式

打包之后的目錄結(jié)構(gòu)

包含了class文件,以及需要的配置文件信息(不包含excludes的配置文件)


MANIFEST.MF中包含了運(yùn)行需要的信息

Class-Path: lib/commons-beanutils-1.8.3.jar lib/commons-betwixt-0.8.jar
...
Main-Class: com.alibaba.dubbo.container.Main

java -jar

啟動(dòng)命令

java -jar 執(zhí)行命令時(shí),會(huì)用到目錄META-INFMANIFEST.MF中Main-Class的參數(shù),這個(gè)是在打包的時(shí)候指定函數(shù)的入口。

java -jar x-0.0.1-SNAPSHOT.jar

java -cp

啟動(dòng)命令

java -cp .:x-0.0.1-SNAPSHOT.jar packname.mainclassname

因?yàn)槲夜こ讨行枰猛獠康膔esources文件所以我通常用這種方式啟動(dòng)

配置文件地址是絕對(duì)路徑

java -cp /Users/username/resources:dubbo-service-1.0.jar com.alibaba.dubbo.container.Main

-cp-classpath是相同的效果

java -cp 是指定運(yùn)行所依賴其他類的路徑,通常是類庫、jar 包之類,多個(gè)依賴在Window 上用分號(hào)";"隔開,linux上用":"隔開。

表達(dá)式支持通配符

java -cp .:/Users/username/*.jar packname.mainclassname

打成一個(gè)jar包

如果需要將依賴的jar包都達(dá)到一個(gè)jar包中運(yùn)行,可以使用maven-shade-plugin這個(gè)插件。

這個(gè)插件的功能主要是:將依賴的jar包打包到當(dāng)前jar包,并且在打包的時(shí)候把類重命名,可以解決jar包的多版本沖突,具體可以查詢官方插件文檔。

參考文檔

maven官方插件文檔

 以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中計(jì)算集合中元素的出現(xiàn)次數(shù)統(tǒng)計(jì)

    Java中計(jì)算集合中元素的出現(xiàn)次數(shù)統(tǒng)計(jì)

    本文主要介紹了Java中計(jì)算集合中元素的出現(xiàn)次數(shù)統(tǒng)計(jì),使用Collections類配合HashMap來統(tǒng)計(jì)和java lamb 計(jì)算這兩種方式,具有一定的參考價(jià)值,感興趣可以了解一下
    2024-02-02
  • springboot項(xiàng)目docker分層構(gòu)建的配置方式

    springboot項(xiàng)目docker分層構(gòu)建的配置方式

    在使用dockerfile構(gòu)建springboot項(xiàng)目時(shí),速度較慢,用時(shí)比較長,為了加快構(gòu)建docker鏡像的速度,采用分層構(gòu)建的方式,這篇文章主要介紹了springboot項(xiàng)目docker分層構(gòu)建,需要的朋友可以參考下
    2024-03-03
  • Java基本數(shù)據(jù)類型(動(dòng)力節(jié)點(diǎn)java學(xué)院整理)

    Java基本數(shù)據(jù)類型(動(dòng)力節(jié)點(diǎn)java學(xué)院整理)

    Java數(shù)據(jù)類型(type)可以分為兩大類:基本類型(primitive types)和引用類型(reference types)。下面是動(dòng)力節(jié)點(diǎn)給大家整理java基本數(shù)據(jù)類型相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧
    2017-03-03
  • Java使用junit框架進(jìn)行代碼測試過程詳解

    Java使用junit框架進(jìn)行代碼測試過程詳解

    單元測試就是針對(duì)最小的功能單元編寫測試代碼,Junit是使用Java語言實(shí)現(xiàn)的單元測試框架,它是開源的,Java開發(fā)者都應(yīng)當(dāng)學(xué)習(xí)并使用Junit編寫單元測試。本文就來講講Junit框架的使用教程,需要的可以參考一下
    2023-02-02
  • JVM核心教程之JVM運(yùn)行與類加載全過程詳解

    JVM核心教程之JVM運(yùn)行與類加載全過程詳解

    我們都知道一個(gè)java程序運(yùn)行要經(jīng)過編譯和執(zhí)行,但是這太概括了,中間還有很多步驟,下面這篇文章主要給大家介紹了關(guān)于JVM核心教程之JVM運(yùn)行與類加載全過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-04-04
  • 詳解SpringBoot2 使用Spring Session集群

    詳解SpringBoot2 使用Spring Session集群

    這篇文章主要介紹了SpringBoot2 使用Spring Session集群,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • java中ArrayList與LinkedList對(duì)比詳情

    java中ArrayList與LinkedList對(duì)比詳情

    這篇文章主要通過實(shí)例對(duì)Java中ArrayList與LinkedList進(jìn)行了對(duì)比,需要的朋友可以參考下
    2017-04-04
  • IDEA快速顯示Run DashBoard的圖文詳解

    IDEA快速顯示Run DashBoard的圖文詳解

    這篇文章主要介紹了IDEA快速顯示Run DashBoard的圖文詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java通過百度API實(shí)現(xiàn)圖片車牌號(hào)識(shí)別

    Java通過百度API實(shí)現(xiàn)圖片車牌號(hào)識(shí)別

    這段時(shí)間做項(xiàng)目需要用java程序進(jìn)行車牌識(shí)別,因此嘗試做了下這個(gè)程序,本代碼功能是通過調(diào)用百度API實(shí)現(xiàn)的,感興趣的可以了解一下
    2021-06-06
  • Mybatis聯(lián)合查詢的實(shí)現(xiàn)方法

    Mybatis聯(lián)合查詢的實(shí)現(xiàn)方法

    本文主要介紹了 Mybatis聯(lián)合查詢的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評(píng)論