如何用maven將dubbo工程打成jar包來運(yùn)行-創(chuàng)新互聯(lián)

這篇文章主要介紹了如何用maven將dubbo工程打成jar包來運(yùn)行,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司于2013年開始,先為安仁等服務(wù)建站,安仁等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為安仁企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

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的配置文件)

如何用maven將dubbo工程打成jar包來運(yùn)行

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)
配置文件地址是絕對路徑

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

-cp-classpath是相同的效果
java -cp 是指定運(yùn)行所依賴其他類的路徑,通常是類庫、jar 包之類,多個(gè)依賴在Window 上用分號";"隔開,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包的多版本沖突,具體可以查詢官方插件文檔。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享如何用maven將dubbo工程打成jar包來運(yùn)行內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!

本文題目:如何用maven將dubbo工程打成jar包來運(yùn)行-創(chuàng)新互聯(lián)
文章源于:http://bm7419.com/article38/cdipsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、做網(wǎng)站、商城網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站改版、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)