本文中談到的用maven將dubbo工程打成jar包來運行的方法是:使用maven打包插件maven-jar-plugin在pom.xml檔案最後新增一些程式碼。有興趣的朋友可以看看,希望能幫到你
maven打包方式
使用maven打包插件maven-jar-plugin
在 pom.xml
檔案最後新增以下程式碼。 maven-dependency-plugin
是指將依賴的jar套件複製到指定目錄maven-resources-plugin
將依賴的resources複製到指定目錄
<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包方式
打包之後的目錄結構
包含了class文件,以及需要的設定檔資訊(不包含excludes的設定檔)
在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 -jar
啟動指令
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
因為我工程中需要引用外部的resources檔案所以我通常用這種方式啟動
設定檔位址是絕對路徑
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包都達到一個jar包中運行,可以使用maven-shade-plugin
這個插件。
這個插件的功能主要是:將依賴的jar包打包到當前jar包,並且在打包的時候把類別重命名,可以解決jar包的多版本衝突,具體可以查詢官方插件文檔。
相關教學:Java影片教學
以上是怎麼用maven將dubbo工程打成jar包來運行的詳細內容。更多資訊請關注PHP中文網其他相關文章!

maven的命令:1.mvncleanpackage-DskipTests:在项目目录下运行此命令,在target目录下生成jar包或war包。2.mvnclean:清理项目生产的临时文件,一般是模块下的target目录3.mvncompile-DskipTests:模块安装命令将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用-Dmaven.test.skip=true跳过测试(同时会跳过testcompile).4.mvntest:测试命令,或执行src/test/java/下

Maven本地仓库配置详解,需要具体代码示例在使用Maven进行项目构建时,本地仓库的配置是非常重要的一部分。本文将详细介绍如何正确配置Maven本地仓库,并附带代码示例。Maven本地仓库是用于保存项目中所需的依赖库的地方。当Maven构建项目时,它会根据项目中的pom.xml文件中的依赖配置,自动从远程仓库中下载所需的依赖库,并保存在本地仓库中。这样,当

maven配置本地仓库的步骤:1、下载和安装Maven;2、配置环境变量;3、创建本地仓库文件夹;4、配置Maven的settings.xml文件;5、修改本地仓库位置;6、保存并关闭settings.xml文件;7、测试配置。详细介绍:1、下载和安装Maven,需要在计算机上下载和安装Maven,可以从Maven官网下载最新版本的Maven,根据操作系统选择合适的安装包等等。

maven下载慢的解决办法:1、网络问题;2、代理设置;3、镜像设置;4、清理本地仓库;5、使用Maven的下载管理功能;6、升级Maven版本;7、插件问题;8、清理系统缓存;9、尝试使用其他工具。详细介绍:1、网络问题,检查网络连接是否稳定,如果网络不稳定可能导致下载速度慢,尝试切换到其他网络环境或者使用更稳定的网络连接;2、代理设置,如果网络需要通过代理服务器访问等等。

Springboot2.6集成redismaven报错org.springframework.bootspring-boot-starter-data-redis当加这个配置后,POM.xml的第一行总是报错:DescriptionResourcePathLocationTypeio.lettuce:lettuce-core:jar:6.1.8.RELEASEfailedtotransferfromhttps://repo.maven.apache.org/maven2duringaprevio

方式一通过maven-jar-plugin指定outputDirectory输出路径可以排除某些配置文件,没有文件夹的话会自动创建!org.apache.maven.pluginsmaven-jar-pluginD:\test**/*.properties**/*.xml**/*.ymlstatic/**templates/**方式二通过maven-resources-plugin指定outputDirectory输出路径org.apache.maven.pluginsmaven-resourc

maven打包插件有:1、maven-jar-plugin;2、maven-assembly-plugin;3、maven-shade-plugin;4、spring-boot-maven-plugin;5、maven-dependency-plugin;6、maven-resources-plugin;7、maven-compiler-plugin等等。

在Java开发过程中,Maven是一个非常常用的工具。它可以帮助我们管理依赖、构建项目、运行测试等。然而,有时候我们会遇到Maven错误,这会给我们带来一定的麻烦。本文将介绍一些常见的Maven错误及其解决方法,以及如何避免这些错误的发生。一、依赖错误1.缺少依赖缺少依赖是Maven中最常见的错误之一。这通常是由于依赖配置不正确导致的。在使用Maven时,我


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),