検索
ホームページJava&#&チュートリアルMaven を使用して dubbo プロジェクトを jar パッケージにパッケージ化して実行する方法

この記事で説明する、maven を使用して dubbo プロジェクトを実行用の jar パッケージにパッケージ化する方法は次のとおりです。maven パッケージング プラグイン maven-jar-plugin を使用して、pom.xml ファイルの末尾にコードを追加します。 。興味のある友人はぜひ見てください。お役に立てれば幸いです。

maven パッケージ化メソッド

Maven パッケージング プラグインを使用しますmaven-jar-plugin
at pom.xml ファイルの最後に次のコードを追加します。
maven-dependency-plugin は、依存する jar パッケージを指定されたディレクトリにコピーすることを指します
maven-resources-plugin依存するリソースを指定されたディレクトリにコピーする

    <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>  
 <!-- 启动函数 -->                           <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>
  • jar パッケージの実行方法

パッケージ化後のディレクトリ構造
クラス ファイルと必要な設定ファイルの情報が含まれます (設定ファイルを除く)

Maven を使用して dubbo プロジェクトを jar パッケージにパッケージ化して実行する方法

#MANIFEST.MF

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

java -jarStart の操作に必要な情報が含まれていますcommand
java -jar コマンドを実行すると、パッケージ化時に指定した関数のエントリポイントである META-INFMANIFEST.MF ディレクトリ内の Main-Class パラメータが使用されます。

java -jar x-0.0.1-SNAPSHOT.jar

java -cp起動コマンド

java -cp .:x-0.0.1-SNAPSHOT.jar packname.mainclassname
プロジェクト内で外部リソース ファイルを参照する必要があるため、通常はこの方法で開始します


設定ファイルのアドレスは絶対パスです

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

-cp-classpath は同じ効果がありますjava -cp は依存関係です指定された操作のパス 他のクラス (通常はクラス ライブラリ、jar パッケージなど) のパス。 複数の依存関係は、
Window ではセミコロン「;」、 linux では「:」で区切られます。 式はワイルドカードをサポートしています

java -cp .:/Users/username/*.jar   packname.mainclassname
    jar パッケージに入力します
すべての依存する jar パッケージを 1 つの jar パッケージで実行する必要がある場合は、

を使用できます。 maven-shade-pluginこのプラグイン。 このプラグインの主な機能は、依存する jar パッケージを現在の jar パッケージにパッケージ化し、パッケージ化中にクラスの名前を変更することで、jar パッケージの複数バージョンの競合を解決できます。公式プラグインのドキュメント。

関連チュートリアル:

Java ビデオ チュートリアル

以上がMaven を使用して dubbo プロジェクトを jar パッケージにパッケージ化して実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は思否で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境