关于maven打包fat jar (uber jar) 时需要包含本地文件系统第三方jar文件的问题,今天折腾了一整天.最后还是用了spring boot来做.下面是几篇关于打包的有参考价值的文章,以及我的解决方法. 参考文章: 1.  将 Spring boot 项目打成可执行Jar包,及相关注意事项(main-class.缺少 xsd.重复打包依赖) https://blog.csdn.net/rainbow702/article/details/55096506 2.  Java 打包 F…
maven打包 tomcat运行pom配置,同时还需要配置org.apache.tomcat.maven插件,这里省略. <groupId>com.company</groupId> <artifactId>wechat</artifactId> <version>1.0-SNAPSHOT</version> <!-- 下方两行是web项目 tomcat启动使用的方式,如果是打成jar包,则不需要配置下两行内容 --> &…
IDE环境中,可以直接用exec-maven-plugin插件来运行java application,类似下面这样: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <…
关于 调用 JNI JAR 的说明和注意事项,调用第三方 JAR SDK 和 翻译 安卓 JAVA 代码 的说明 V2015.6.10 转载请标明出处,否则死全家.选择[复制链接]即可得到出处. (* ************************************************ *)(* *)(* *)(* 设计:爱吃猪头肉 & Flying Wang 2015-04-15 *)(* 上面的版权声明请不要移除. *)(* *)(* **********************…
为配合自动化部署hudson,最近研究了如何将eclipse maven工程打包成可运行的jar函数及对应的资源文件.      由于我们工程中包含了多个可运行的任务,在打包成jar时需要分别导出,pom提到版本库需要一致,不能部署一个任务提交一次代码.所以考虑了在进行mvn打包时通过传递参数控制导出jar中的main所在的类.在pom中定义properties,在执行命令时传递参数即可.如mvn package -DtaskFinalName=contentpoolurl -DmainClas…
普通打包之后在程序目录运行,或者编写bat运行时会提示“没有主清单属性”,这是因为并没有找到main()方法,需要我们指明告诉java程序 我bat中的代码 @echo off title mytitle java -jar ysl-ts-web-base-1.0-SNAPSHOT.jar pause 我的程序是spring boot的,不同的程序配置有些不同,在pom.xml中增加以下配置,指明启动类位置即可 <!--配置spring boot打包(可运行jar包)--> <build…
目录 1.前提 2.方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包 3.方法二:使用maven-assembly-plugin插件打包 4.方法三:使用maven-shade-plugin插件打包 ————————————————————————————————– 1.前提 Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现”no main manifest att…
简介 javaagent 是 Java1.5 之后引入的新特性,其主要作用是在class被加载之前对其拦截,以插入我们的字节码. java1.5 之前使用的是JVMTI(jvm tool interface)技术来实现对class的拦截,不过这个是用 C++ 编写的,比如 debug 功能就是用这个技术实现的,有兴趣的自行百度. jar 常见的jar包分为 可运行jar 和 javaagent.jar ,它们的主要区别如下: Executable Jar Javaagent Jar 入口方法 m…
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersi…
转载自:http://bglmmz.iteye.com/blog/2058914 背景: 另一篇文章说了如何利用IDEA来打包,现在来说说如何利用MAVEN打包 目标:应用本身打成一个jar包,依赖的第三方包放到lib目录下 开发环境 OS: Windows 8.1 JDK: 1.7.0 开发工具: IntelliJ IDEA 13.1.1 步骤: 1. 首先看下maven项目的标准目录结构: 2. 看下项目pom.xml的配置,首先要配置maven-jar-plugin,把自己的代码编译打包成…
原因可能是: 在你下载该文件时 ,的确 私服上没有该文件. 但是maven会在本地仓库建立文件夹路径,并且今天不会再去私服下载. 即使你现在上传3rd jar ,也不会去下载,导致一直找不到jar.. 解决办法: 删除本地仓库的这个路径,就可以重新下载了…
[From] https://blog.csdn.net/tearsky253/article/details/75948721 问题 在使用“mvn package”命令编译application之后,生成的.jar文件不能直接被“java -jar”命令运行,一般都是因为: 1. Manifest中没有主清单属性. 2. 依赖项在.jar文件中不存在. 这两个问题可以通过在pom.xml中增加build plugin来解决. 方法1 使用maven-assembly-plugin来打包fat…
现象,执行时抛出java.lang.ClassNotFoundException异常: Executing E:\secondegg\secondegg-reversi\dist\run802221143\secondegg-reversi.jar using platform D:\Program Files\Java\jdk1.7.0_25\jre/bin/java Exception in Application init method java.lang.reflect.Invocati…
我们项目中使用到第三方的库文件,这些jar库文件并没有放到Maven中央库上,导致我们需要在项目中自己配置使用.我们的两三个开发人员对Java都是很熟,因此在使用中遇到了一些问题,表现在:在本地中引入第三方jar包后,在Idea中进行相应设置后,可以调试运行了,但是用Docker打包上传到服务器后,运行时会提示找不到某些类的定义. 经查看这些找不到的类就是来自第三方库,那么问题有可能是第三方jar包的路径问题,或者是根本就没有打包进jar文件里面.我们可以去Docker容器内部查看jar文件,执…
本章介绍使用ant打包可运行的Jar包. 打包jar包最大的问题在于如何加入第三方jar包使得jar文件可以直接运行.以下用一个实例程序进行说明. 程序结构: 关键代码: package com.alfred.main; import com.alfred.bean.User; import com.alfred.util.ProjConfig; import com.thoughtworks.xstream.XStream; public class Main { public static…
今天用maven打包时,提示程序包com.aspose.slides不存在 原来第三方jar是直接导入的,打包时没找到 那项目中带有第三方jar包,怎么打包? 方法: 1.根路径建立lib包,将第三方jar复制进去 2.在pom.xml文件中 (1)dependency部分加入 <dependency> <groupId>aspose.slides</groupId> <artifactId>slides</artifactId> <ver…
转自http://bglmmz.iteye.com/blog/2058785 背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包:或者某些项目不是WEB应用,纯粹是后台应用,发布时,也需要打成可运行的JAR包.并且,如果依赖第三方jar时,又不希望第三方jar也打入最终的可运行jar包,并且还希望,组织下目录结构(如把第三方jar文件,放到最终可运行jar包的并行目录lib下) 开发环境 OS: Windows 8.1 JDK: 1.7.0 开发工具: IntelliJ…
转载:http://bglmmz.iteye.com/blog/2058785 背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包:或者某些项目不是WEB应用,纯粹是后台应用,发布时,也需要打成可运行的JAR包.并且,如果依赖第三方jar时,又不希望第三方jar也打入最终的可运行jar包,并且还希望,组织下目录结构(如把第三方jar文件,放到最终可运行jar包的并行目录lib下) 开发环境 OS: Windows 8.1 JDK: 1.7.0 开发工具: IntelliJ…
背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包:或者某些项目不是WEB应用,纯粹是后台应用,发布时,也需要打成可运行的JAR包.并且,如果依赖第三方jar时,又不希望第三方jar也打入最终的可运行jar包,并且还希望,组织下目录结构(如把第三方jar文件,放到最终可运行jar包的并行目录lib下) 开发环境 OS: Windows 8.1 JDK: 1.7.0 开发工具: IntelliJ IDEA 13.1.1 步骤: 1. 选中Java项目工程名称,在菜单中选择 …
spring boot 入门 关于版本的选择,spring boot 2.0开始依赖于 Spring Framework 5.1.0,而spring 5.x和之前的版本差距比较大,而且应该来说还没有广泛的使用,所以生产中,一般来说目前还是建议使用spring boot 1.x,目前最新版本是1.5.9,官方手册https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/pdf/spring-boot-reference.pdf.…
jar包的术语背景: normal jar: 普通的jar,用于项目依赖引入,不能通过java -jar xx.jar执行,一般不包含其它依赖的jar包. fat jar: 也叫做uber jar,是一种可执行的jar(executable jar),既包含自己代码中的class ,也包含第三方依赖的jar. 不可执行,但包含第三方依赖的jar包,避免生成的jar与第三方引入后出现依赖版本冲突. POM文件中的内置属性(Maven预定义可以直接使用): ${basedir} 项目根目录 ${ve…
一.问题描述 最近开发了一个springboot程序,需要依赖第三方jar包,这个jar包无法直接通过pom远程仓库下载,需要从自己本地引入,于是配置pom文件如下:将本地jar包引入工程,systemPath为jar所在的本地路径 <!--第三方jar包引入--> <dependency> <groupId>com.hikvision.js</groupId> <artifactId>data-sdk-bms</artifactId>…
参考文章: http://www.cnblogs.com/luotaoyeah/p/3791966.html ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 参考文章介绍的非常详尽,自己写下来这个,只是以做笔记的形式走一走…
问题现象:项目结构如下 growup-service | - - - - - -growup-api | - - - - - -growup-core | - - - - - -growup-war 通过maven打包后出现growup-core依赖本地工程growup-api,growup-war也依赖了本地工程growup-api,但growup-war依赖的是本地仓库里的growup-core,而不是本地工程的growup-core.这时war包引用的是本地仓库里打好core的jar包,因…
Maven引入本地Jar包并打包进War包中 1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示:  这4个Jar包是识别网页编码所需的包. 3. 配置pom.xml,依赖本地Jar 配置Jar的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和…
1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库  和    Maven远程仓库  之间的一个缓冲仓库. 那要构建一个maven私服,需要用到Maven仓库管理软件,关于Apache Archiva,Artifactory,Sonatype Nexus的区别,有下面这些的参考对比: http://blog.sina.com.cn/s/blog_72…
文章目录 引用的第三方jar的目录结构(示例) 引入第三方jar进行dependency使项目内能import 本地编译 第三方jar一起打到jar中 在linux机器中解决classnotfound 完整pom.xml 引用的第三方jar的目录结构(示例) 我的lib是在resources目录下的. 引入第三方jar进行dependency使项目内能import 其实用命令行的方式将jar包打到本地仓库,然后dependency也行,但是因为我需要将jar放到linux机器中,总不能每次换环境…
maven有两种文件解析和分配策略,也就是我们常说的artifacts(依赖). 第一种是本地仓库,这是你缓存在本地的依赖.默认在${user.home}/.m2/repository目录下;当maven运行时,首先也会来本地仓库中所需的依赖包; 第二种是远程仓库,当本地没有找到时,会去远程仓库中查找.远程仓库通常在你maven的settings.xml配置; 但是实际开发中,可能存在引入自定义或者第三方jar包,这些包在本地仓库和远程仓库都没有,这样会造成依赖失败.maven通过maven-i…
Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参 一.打包 情况1:不需要向程序传参数,并且程序没有使用第三方jar包 Eclipse上导出jar: 然后选择一个java文件作为入库,需要带main()主函数: 情况2:向程序传参数,并且程序没有使用第三方jar包 这种情形下打包和情况1是一样的 情况3:程序使用了第三方jar包 这种情况下的打包要复杂一些,需要把第三方jar包一起导出,可以使用eclipse的插件fat jar,很简便,但是fat jar只支持eclipse…
首先推荐博客: spring-boot-maven-plugin 安装本地jar 包 http://www.cnblogs.com/acm-bingzi/p/mavenSpringBootPlugin.html http://www.jianshu.com/p/bcf627a409f2 http://blog.csdn.net/dongdingzhuo/article/details/78731704 由对接支付宝当面付接口的时候来引入第三方的jar是冒出的问题,如何在springboot项目中…