首页
关于
留言
Search
1
红米 AX3000 (AX6) 路由器解锁 SSH 教程
6,676 阅读
2
网盘挂载程序sharelist美化教程
4,216 阅读
3
小米路由器 AX3600 开启SSH教程,官方固件即可安装 ShellClash开启科学上网
2,168 阅读
4
Oracle 甲骨文 ARM VPS 自动抢购脚本
1,819 阅读
5
编译带PassWall和SSR-plus插件的Openwrt系统
1,393 阅读
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
登录
Search
标签搜索
Java
Linux
Mysql
IDEA
Debian
Docker
Springboot
CentOS
Cloudflare
Maven
JavaScript
SQL
Wordpress
宝塔
Nginx
Windows
MacBook
JS
CSS
Openwrt
William
累计撰写
144
篇文章
累计收到
702
条评论
首页
栏目
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
页面
关于
留言
搜索到
5
篇与
的结果
2022-10-29
如何利用Maven将代码打包成第三方公共jar包?
一、摘要在项目开发过程中,我们经常需要将一些公共方法提取出来,然后单独封装成一个第三方公共jar包,采用普通的方式打包后的jar,依赖的工程执行编译时,却提示找不到对应的依赖包,那么如何将工程打包为可执行jar包呢?下面向大家介绍三种通过maven将工程打包成可执行的打包方式。二、方法实践2.1、assembly插件2.1.1、pom.xml的相关配置文件如下<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"> <modelVersion>4.0.0</modelVersion> <groupId>com.example.java</groupId> <artifactId>example-frame-fatJar</artifactId> <version>1.0.0</version> ..... <build> <finalName>sso-api</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- maven-assembly-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <encoding>UTF-8</encoding> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>2.1.2、运行如下命令,进行打包mvn clean package会在target文件夹里生成一个jar-with-dependencies的jar是可执行的。2.1.3、验证jar是否可执行在带有 jar-with-dependencies 的jar文件下,打开终端,输入如下命令#验证jar是否可执行,如果没有报错,说明没有问题 java -jar xxx-jar-with-dependencies.jar2.2、shade插件2.2.1、pom.xml的相关配置文件如下<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"> <modelVersion>4.0.0</modelVersion> <groupId>com.example.java</groupId> <artifactId>example-frame-fatJar</artifactId> <version>1.0.0</version> ...... <build> <finalName>sso-api</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- maven-shade-plugin,不同的是shade可以将多个相同的配置文件追加合并 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.xxg.Main</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>2.2.2、运行如下命令,进行打包mvn clean package发现生成了2个jar包,一个为:original-XXX.jar,另一个为:XXX.jar,其中original...jar里只包含了工程自己的class文件,而另外的一个jar包则包含了工程本身以及所有依赖的jar包的class文件。我们只需要使用第二个jar包就可以了。2.2.3、验证jar是否可执行在XXX.jar文件下,打开终端,输入如下命令#验证jar是否可执行,如果没有报错,说明没有问题 java -jar XXX.jar不同点:shade可以将多个相同的配置文件追加合并,比如,多个子项目下有相同的配置文件,shade在打包的时候,会将相同的配置文件合并。2.3、Fatjar打包工具(eclipse插件)2.3.1、eclipse在线安装插件1、打开eclipse,打开菜单help > Install New Sofware > Add...name:FatJarURL:http://kurucz-grafika.de/fatjar根据提示下载安装并重启 eclipse!2.3.2、FatJar 使用在使用Eclipse进行导出时,点击项目右键,在弹出的右键菜单中选择 Build Fat Jar, 打开配置Fat Jar弹出框;或者,项目右键,点击Export,然后在打开的Export选择框中选择 Other 下面的 Fat Jar Exporter, 选择需要导出的项目,点击下一步打开配置Fat Jar弹出框。2.3.3、验证jar是否可执行在 XXX.jar 文件下,打开终端,输入如下命令#验证jar是否可执行,如果没有报错,说明没有问题 java -jar XXX.jar
2022年10月29日
11 阅读
0 评论
0 点赞
2022-05-18
2022最新版Macbook安装配置Maven环境教程
方法一:brew 一键安装在终端输入命令 brew install maven,并自动配置好了环境变量MacBook 没安装 brew 的看下面方法二,或者先装 brew然后就可以在终端输入 mvn -v 查看版本方法二:官网下载,手动安装官网下载并解压 Maven打开 Maven 官网下载页面: https://maven.apache.org/download.cgi 比如下载最新的: apache-maven-3.8.5-bin.tar.gz解压下载的安装包到某一目录,比如:/usr/loca/注意:apache-maven-3.8.5 此名称不可以改变配置环境变量打开终端窗口,输入 open ~/.bash_profile,打开 .bash_profile 文件向文件中添加以下内容:# MAVEN PATH MAVEN_HOME=/usr/local/apache-maven-3.8.5 export MAVEN_HOME export PATH=$PATH:$MAVEN_HOME/bin添加之后退出,终端执行以下命令使配置生效source ~/.bash_profile最后终端执行 mvn -version 能看到正确版本号即配置正确
2022年05月18日
65 阅读
0 评论
1 点赞
2021-09-27
Maven IDEA设置优先从本地仓库查找获取依赖
如果不设置 Maven 优先从本地仓库获取依赖的话,那么当你关闭项目以后,下次再打开,IDEA又跑到网上去查找以来,即使制定了使用阿里云的仓库,比起本地速度还是比较慢的。所以很有必要设置为优先使用本地仓库已有的依赖。Macbook上点击左上角IDEA的图标,选择 Preferences,再点击 Build, Execution, Deployment >> Build Tool >> Maven >> Runner >> VM Options 中填入 -DarchetypeCatalog=internal附带阿里云 maven 仓库镜像打开 maven 的配置文件( windows 机器一般在 maven 安装目录的 conf/settings.xml ),在标签中添加 mirror 子节点:<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
2021年09月27日
98 阅读
0 评论
0 点赞
2021-07-15
Spring Boot打包报错 maven-surefire-plugin:2.18.1
问题场景在IDEA中执行打包操作,报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test问题定位出现这个问题是因为单元测试不通过解决方案去除单元测试的代码执行命令跳过测试包 mvn clean package -Dmaven.test.skip=true使用idea打包时 勾选闪电图标
2021年07月15日
14 阅读
0 评论
0 点赞
2021-07-15
IDEA执行mvn命令提示不是内部或外部命令
问题场景在IDEA中的maven项目执行打包,需要之行mvn命令,用 mvn -version 检查mvn版本时发现mvn不存在于环境变量解决方案在系统环境变量中添加maven的bin目录。windows10的话在Path中添加一条maven的bin目录,例如:D:\apache-maven-3.3.9\bin应用,保存后,再回到IDEA的Terminal中执行mvn -version就会出来mvn的版本信息了
2021年07月15日
12 阅读
0 评论
0 点赞