使用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文件。
大家好,又见面了,我是你们的朋友全栈君。 maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容。...同时,maven提供以下方式生成包含所有依赖的jar文件,依赖以class的方式存在; 将此plugin添加到pom文件中 ...--这部分可有可无,加上的话则直接生成可运行jar包--> --> <!...JAR包....这个JAR包就包含了项目所依赖的所有JAR的CLASS. 3.如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.
正常情况下使用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包了 ? 亲测有效,骚年们可以试试。
二、原理以及实现步骤 1.原理 我们可以通过修改maven 打jar包的maven-jar-plugin插件的配置信息来生成我们需要的指定依赖的可执行jar包。...我们通过上文的修改便完成了适用maven生成指定依赖的可执行jar包。 我们发现生成的manifest文件中已经设置好了Main-Class以及Class-Path,如下: ?...如果设置为false,则生成的manifest文件中不会声明依赖(即不会有Class-Path声明) ?...jar包所在的文件夹下,使用 java -jar xxx.jar来执行生成的jar包 ?...到此我们就完成了如何使用maven的jar包生成插件来进行生成指定依赖的可执行jar包。
发现已经不记得须要加入那些jar包了,网上找了一会也没发现准确的答案。幸好对hadoop体系结构略知一二。迅速试出了写mapreduce程序须要的五个jar包。...不多不少,5个包足矣……贴出来免得其朋友再走弯路 (请忽视包的版本号不一致问题,是我从其它项目中东拼西凑过来的) 最后解释一下这五个包的大致功能: 1.commons-cli:主要提供了解析命令行的库...2.commons-logging:经常使用的日志相关库 3.guava: guava的中文意思事实上是石榴嘛,是google的一个开源项目。...当中包括了非常多java的经常使用库 4.hadoop-common:hadoop的基础依赖库,包含配置文件,文件系统,通信,安全等。...5.hadoop-mapreduce-client-core:顾名思义,这是编写mapreduce程序的核心依赖库了。
类,然后用mvn exec:exec来运行,但是部署到生产环境中时,服务器上通常并不具备maven环境,只能用 java -jar xxx.jar这种方式来运行,下面是一些处理细节: 一、依赖项的处理...java application运行时需要查找依赖的第三方jar,如果查找classpath失败,就会报错,可以先用 mvn dependency:copy-dependencies -DoutputDirectory...=target/lib 命令,把依赖的jar包全部导出到target/lib这个目录下 二、利用maven-jar-plugin修改META-INF\MANIFEST.MF 清单文件 java application...jar包在什么地方,第6行表示main函数的入口类,默认情况下mvn clean package生成的jar包里,清单文件上并没有这2行,需要在pom.xml中添加插件 1 2...,这样mvn package后,清单文件里就会自动添加Main-Class和Class-Path这二项 ok了,部署时把jar包和lib目录,都上传到服务器上 ,然后测试一下,顺利的话 java -jar
:jar:2.2.4.RELEASE:compile [INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.4...:log4j-to-slf4j:jar:2.12.1:compile [INFO] | | | \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile...:jar:1.3.5:compile [INFO] | +- org.springframework:spring-core:jar:5.2.3.RELEASE:compile [INFO] | |...\- org.springframework:spring-jcl:jar:5.2.3.RELEASE:compile [INFO] | \- org.yaml:snakeyaml:jar:1.25...:jar:2.10.2:compile [INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.2
(比如连接无效),也能正常生成javadoc jar包。...但最近将编译器换成java 8后,同样的命令执行,遇到javadoc编译错误,maven就中止执行,生成jar包失败了。...-- 禁用java 8 的DocLint新特性,以确保当javadoc有编译错误时,也能正常生成javadoc jar包--> none -Xdoclint:none -Xdoclint:none
在install的时候,会在target文件夹下生成source文件: verify jar-no-fork
具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。...但是我们这个项目需要引用其他第三方的jar包,在eclipse里面以项目jar包的形式引用了这个叫做some.jar的包,当时放在项目的lib子目录下,最后项目打包时把这个some.jar也打进来了,但是用...那该怎么引用其他的jar包呢?...;c:\dir1\lib.jar Test -cp和-classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上”;”分隔,linux上是”...另:如果META-INF 下包含INDEX.LIST文件的话,可能会使Class-Path配置失效。INDEX.LIST是Jar打包工具打包时生成的索引文件,删除对运行不产生影响。
maven仓库中配置了中央仓库http://central.maven.org/maven2/的镜像,但是json-lib包还是引入失败: 以下是最初的pom依赖配置:
现象,maven的本地仓库中,明明存在这个包,但是在项目的pom文件中就是标红报错,reimport也不可以,这次编译一个框架的源码时遇到了这个问题,解决了一下,下面说下解决方法: 首先,确认本地仓库存在该标红的...jar包,版本也是对的!...主要原因是因为,maven的本地仓库的索引(index)没有被更新为最新的问题,项目导入依赖时通过索引就拿不到对应的jar包,就报错。...等待更新完毕 重启idea,解决~ 当然,idea还是很友好的,你把鼠标指到对应的标红出,alt+entre就会看到显示出下面的提示: ?
总的来说,AS打包生成jar包可以分成两类: 第一类是将应用模块application转换成库模块library后生成jar包 第二类是通过新建module库模块的方式生成jar包 下面我们就看看这两类分别是怎么生成...由于生成jar包方式都相同,所以先介绍完两类后再往下走。...,点击Finish,一个新的Moudle就完成啦 4、这个时候我们来看看生成的build.gradle文件,就是我们需要的库模块 5、这个时候将应用模块中需要打包成jar包的代码文件,复制粘贴到对于的位置就可以了...在这里插入图片描述 通过Android Studio右边的Gradle的makeJar命令 找到makeJar后双击即可自动生成jar包啦,如图所示: 生成jar包的测试...: 接下来将生成的jar包放入到另一个项目中进行测试 1、将生成的jar包复制到新之前的demo中测试,如图所示: 2、将jar包添加进项目 3、以下是在onCreate方法中调用jar包里的方法
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 解决办法: 将相应的jar...放到server/webapps/sqoop/WEB-INF/lib下 sqoop2依赖的所有jar: avro-1.7.4.jar commons-cli-1.2.jar commons-configuration...-1.6.jar commons-dbcp-1.4.jar commons-lang-2.5.jar commons-logging-1.1.1.jar commons-pool-1.5.4.jar derby...-bin.jar protobuf-java-2.4.0a.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar sqoop-common-1.99.2.jar....jar
Android制作jar包: Eclipse 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在Java file specification 中不要选择androidmanifest.xml...网上看了不少资料,都是直接下载proguard额外jar,直接生成,觉得不方便,既然apk都能混淆,为什么不直接通过Android Studio来混淆jar包呢。...首先要明白jar从哪里来,以前在Eclipse中是一个project设置为library,然后另外一个主project依赖它。build一下,在library中就会生成jar文件了。...所以jar是针对整个module来make的。 如果module内仅仅是java代码,生成jar是没问题的,但如果还有resource文件,那就得打aar文件了。...在你要打jar包的module build文件中,加上一个生成jar包的task。其实即使不添加,在整个工程build时也会生成jar文件的。
本节从 jar 包的生成、结构、运作原理来分析 Spring Boot的实现。 jar包的生成 Spring Boot 的可执行 jar 包又称作 fat jar”,是包含所有三方依赖的 jar。...它与传统 jar 包最大的不同是包含了一个 lib 目录和内嵌了 web 容器(以下均以 tomcat 为例)。 jar 包通 常是由集成在 pom.xml 文件中的 maven 插件来生成的。...-0.0. 1-SNAPSHOTjar.original 文件的后缀 original 去掉,生成的新jar包便是包含业务代码的包(普通的jar包) 。...另外的spring-learn-0.0. 1-SNAPSHOTjar包则是在 Spring Boot 中通过 jar jar 启动的包,它包含了应用的依赖,以及 spring boot 相关 class...jar 包、获得目标 File 对象、获得重新打包器、获得依赖 jar 包、 获得启动脚本,最后通过重新打包器进行重新打包为可通过 java -jar 执行的 jar 包。
包中的签名文件是无效的 , 删除 META-INF 目录下的签名文件即可 ; 打开压缩包 , 删除这两个 签名文件 ; 一、报错信息 ---- 处理依赖库时 , 选择将 依赖库 打包到 Jar 包内...; 这是使用第二种方式 , 输出的 jar 包 , 要独立管理一堆 jar 包 ; 所需的依赖库 , 都在左侧的 " Extracted ‘xxx’ " 中 , 这样该依赖库就可以被打包到 jar...包中 ; 打包后的效果是下面的样式 , 一堆的包名文件 ; 执行上述 jar 程序 , 会报错 ; 完整报错信息 : D:\>java -jar App.main2.jar Error: A JNI...java.lang.SecurityException: Manifest主属性的签名文件摘要无效 该错误提示很明显 , 就是说 jar 包中的 META-INF 信息签名文件无效 ; 签名文件 无效..., 就不用签名文件 , 直接删除这两个签名文件 ; 使用压缩工具打开 , 这里我使用的是 7-zip 压缩工具打开了 jar 包 , 删除 MANIFEST.MF 和 MSFTSIG.RSA 两个签名文件
maven 依赖jar包时版本冲突的解决: mvn dependency:tree -Dverbose ?...四种解决方式: 1、第一声明优先原则: 在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。 所以,先声明自己要用的版本的jar包即可。...2、路径近者优先: 直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可以自己声明一个指定版本的依赖jar,即可解决冲突。...jar包,声明后其他版本的jar包一律不依赖。...如上图标注 4 所示,为我们在 pom.xml 中配置的依赖包列表。 如上图标注 5 所示,为常见的 Java Web 在 Maven 下的一个项目结构。
本文主要针对一些新手,maven和gradle的用法这里就不展开了,自己去学。 通过maven和gradle下载jar包很容易,可以自动的,只需要复制配置就可以。 但是从哪里复制这种依赖配置?...或者就想把jar包下载下来去哪里下载? 周末看到群里有问这种问题,有些新手可能不知道在哪里可以获取jar包,授人以鱼不如授人以渔,希望一篇文章解决新手的困惑。...https://mvnrepository.com/ 点进去之后选择版本号 中央仓库 https://search.maven.org/ 可以在这里搜索下载 也可以点进去看所有版本,复制依赖的配置项...点进去之后查看所有版本 点进去想要的版本之后,可以复制maven或者gradle等的依赖的配置 当然还有其他网站比如 https://jar-download.com/
想要将一个项目导出为jar包,供其它项目使用,在eclipse中可以直接导出该项目为jar包,而 在AS中可以通过修改gradle才处理。...包中的show方法", show_tv); } }); } 4、testlibrary的build.gradle中配置能生成jar文件: def SDK_BASENAME = "...的名字为TestSdk_V1.0.jar。...5、在右侧的Gradle目录中有个“other”,展开找到“makejar”,然后双击“makejar”,就可以生成jar文件了,生成结果如下: ?...总结 以上所述是小编给大家介绍的Android Studio 生成自定义jar包的步骤详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
领取专属 10元无门槛券
手把手带您无忧上云