首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包

使用maven构建工具可以将工程打包生成普通的jar包、可运行的jar包,也可以将所有依赖一起打包生成jar; 一、普通的jar包 普通的jar包只包含工程源码编译出的class文件以及资源文件,而不包含任何依赖...;同时还包括pom文件,说明该包的依赖信息; 在工程pom文件下这样写,可生成普通的jar包: jar 或者,不写,因为packaging默认打包类型为jar...二、包含所有依赖的jar包 普通的jar包,只在pom文件中包含依赖信息,而不包含真正的依赖,但同时maven也可以打包生成包含所有依赖的jar文件,可参考本博客文章 Maven打包生成包含所有依赖的...jar包 三、可运行jar包 可运行的jar包,除包含工程源码编译结果外,还包括所有依赖,可利用java -jar 命令直接运行。...(所有的依赖jar包直接变成了class) 使用maven生成可运行jar包,可参考本博客文章 maven打包生成可执行jar文件。

5.9K20

解决SpringBoot jar包中的文件读取问题

前言 SpringBoot微服务已成为业界主流,从开发到部署都非常省时省力,但是最近小明开发时遇到一个问题:在代码中读取资源文件(比如word文档、导出模版等),本地开发时可以正常读取 ,但是,当我们打成...jar包发布到服务器后,再次执行程序时就会抛出找不到文件的异常。.../templates/docxTemplate.docx 显而易见,这个异常告诉我们:没有找到文件,但是将jar包解压过后,发现这个文件是真真实实存在的。那这到底是怎么回事呢?这压根难不倒我。...通过仔细观察堆栈信息,我发现此时的文件路径并不是一个合法的URL(文件资源定位符)。原来jar包中资源有其专门的URL形式:jar:!/{entry} )。...解决 虽然我们不能用常规操作文件的方法来读取jar包中的资源文件docxTemplate.docx,但可以通过Class类的getResourceAsStream()方法,即通过流的方式来获取 :

3.1K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Idea打包含所有依赖的jar包

    正常情况下使用maven打的jar包是不包含项目所依赖得jar包的,所以通过 java –cp xxx.jar com.test.MainClass 来运行jar包的时候会抛出 Exception...in thread “main” java.lang.NoClassDefFoundError: 异常,网上的解决方法通常都是在pom文件里面加上一些相关插件的配置,这种方式一搜一大把,但是我在使用这些方式打包的时候并没有把所有的依赖都加入到...jar中,具体原因我也懒得找了。...其实除了这种添加pom插件的方式还有另外一种更为简单的方式,直接通过鼠标点点就能完成。具体方法如下: 配置 点击项目右键-》Open Module Settings ?...然后再out目录下就看到了包含所有依赖包的jar包了 ? 亲测有效,骚年们可以试试。

    4.7K60

    java jar包与war包_jar包和war包的区别,java jar包和war包部署的区别介绍「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 很多人都在想jar和war部署究竟哪个好呢?jar包和war包这两者之间的区别又是怎样的?有着什么不同?带着这些问题下面就一起来了解一下吧。...1、jar包和war包概念介绍 最首先的话,我们还是要来对jar包以及war包的概念进行一个简单的了解,首先是jar包。 什么是jar包?...什么是war包? war包是JavaWeb程序打的包,war包当中包含写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。...war包当中的WEB-INF里放的class文件和配置文件,META-INF和jar包作用一样,war包里面还包含静态资源的文件。...3、jar包和war包的不同之处 (1)war包和项目的文件结构保持一致,而jar包却不一样; (2)jar包里面没有静态资源的文件; 4、jar包和war包部署项目的区别 部署普通的spring项目用

    2.6K10

    war包和jar包的区别

    大家好,又见面了,我是你们的朋友全栈君。 jar包:对于学习java的人来说应该并不陌生。我们也经常使用也一些jar包。其实jar包就是java的类进行编译生成的class文件就行打包的压缩包而已。...当我们自己使用maven写一些java程序,进行打包生成jar包。同时在可以在其他的工程下使用,但是我们在这个工程依赖的jar包,在其他工程使用该jar包也要导入。...这是jar的里面的class文件 war包:其实就是一个web程序进行打包便于部署的压缩包,里面包含我们web程序需要的一些东西,其中包括web.xml的配置文件,前端的页面文件,以及依赖的jar。...文件数量对于jar包,这样便于我们部署工程,直接放到tomcat的webapps目录下,直接启动tomcat即可。...war包的目录结构

    72110

    springboot 运行 jar 包读取外部配置文件

    ​ 案例:本文主要描述linux系统执行jar包读取jar包同级目录的外部配置文件 方法一:相对路径设置配置文件 (1)在jar包同级目录创建配置文件conf.properties并写入配置数据:...包 java -jar jarNanexxx 方法二:绝对路径设置配置文件 解决问题:使用相对路径的方法在jar包同级目录手动执行jar包时没有问题,但使用linux系统的crontab文件定时调度时报错...,原因:因为我们手动执行某个脚本时,是在当前shell环境下进行的,程序能找到环境变量;而系统自动执行任务调度时,除了默认的环境,是不会加载任何其他环境变量的。...(1)在jar包同级目录创建配置文件conf.properties并写入配置数据: confData=data (2)开始写入自动化测试代码 //from fhadmin.cn public class...包 java -jar jarNanexxx ​

    2.2K20

    jar包与war包的区别

    这是jar的里面的class文件 war包:其实就是一个web程序进行打包便于部署的压缩包,里面包含我们web程序需要的一些东西,其中包括web.xml的配置文件,前端的页面文件,以及依赖的jar。...通过仔细对比可以发现:jar包中包含了你写程序的所有服务或者第三方类库,它通常是作为幕后工作者,为视图层用户与之交换数据处理的一个服务者,jar文件格式以Zip文件格式为基础,与Zip不同的是,它可以被发布...,而且还能用于部署,它封装了库、组件和插件程序,并且可以被编译器和jvm使用,在jar中还包含特殊的文件,如mainfests和部署的应用描述,用于指示工具如何处理特定的jar。...以上都是从实际中出发看出的最明显的区别,如果从内部看,我们可以看到:war包中的目录结构中包括WEB-INF,而war是一个可以直接运行的web模块,做好一个web项目后,需要打包部署到容器中,一般放置在...这个包中的文件按一定目录结构来组织:通常其根目录下包含之前所说的有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,通常在WEB-INF目录下有一个web.xml文件和一个

    1.3K10

    jar包和war包的区别

    大家好,又见面了,我是你们的朋友全栈君。 1. 概念 1.1 jar包 JAR包是类的归档文件,JAR 文件格式以流行的 ZIP 文件格式为基础。...目录结构 ①jar包里的com里放的就是class文件,配置文件,但是没有静态资源的文件,大多数 JAR 文件包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息。...②而war包里的WEB-INF里放的class文件和配置文件,META-INF和jar包作用一样,war包里还包含静态资源的文件 3....总结起来就是有两点不同: ①war包和项目的文件结构保持一致,jar包则不一样。 ②jar包里没有静态资源的文件(index.jsp) 4....部署项目的区别 部署普通的spring项目用war包就可以,部署springboot项目用jar包就可以,因为springboot内置tomcat。

    72530

    tar包和jar包和war包的区别?

    tar:tar是*nix下的打包工具,生成的包通常也用tar作为扩展名,其实tar只是负责打包,不一定有压缩,事实上可以压缩,也可以不压缩,通常你看到xxxx.tar.gz,就表示这个tar包是压缩的,...并且使用的压缩算法是GNU ZIP,而xxxx.tar.bz2就表示这个包使用了bzip2算法进行压缩,当然这样的命名只是一种惯例,并非强制。...jar:即Java Archive,Java的包,Java编译好之后生成class文件,但如果直接发布这些class文件的话会很不方便,所以就把许多的class文件打包成一个jar,jar中除了class...文件还可以包括一些资源和配置文件,通常一个jar包就是一个java程序或者一个java库。...war:Web application Archive,与jar基本相同,但它通常表示这是一个Java的Web应用程序的包,tomcat这种Servlet容器会认出war包并自动部署。

    1.6K20

    java中jar包内的类访问jar包内部的资源文件路径和获得读取资源文件内容的问题

    在大数据开发和java web开发中,我们有时会在程序中读取一些资源文件的内容。...当我们在本地运行调试的时候是没有任何问题的,但是当我们将程序打成jar包上传到集群中后运行时,发现报错:“找不到配置文件的路径”。虽然jar中确实存在配置文件,但是还是读取不到。...相关解决方法可以参考以下相关资料:  java中jar包内的类访问jar包内部的资源文件的路径问题: http://blog.csdn.net/mm_bit/article/details/50372229...获取jar包内部的资源文件: http://blog.csdn.net/luo_jia_wen/article/details/50057191 【解惑】深入jar包:从jar包中读取资源文件: http...://www.iteye.com/topic/483115  jar读取资源配置文件,jar包内包外,以及包内读取目录的方法: http://blog.csdn.net/T1DMzks/article/

    9.4K20

    linux运行jar包的命令_linux部署jar包的几种方式

    大家好,又见面了,我是你们的朋友全栈君。 要运行java的项目需要先将项目打包成war包或者jar包,打包成war包需要将war包部署到tomcat服务器上才能运行。...而打包成jar包可以直接使用java命令执行。 在linux系统中运行jar包主要有以下几种方式。...一、java -jar XXX.jar 这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。...二、java -jar XXX.jar & &代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。...三、nohup java -jar XXX.jar & 使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。

    7.1K20
    领券