【Maven jar】打包单个或多个文件,有依赖jar包的将包一起打包成一个jar包供别的项目引用
2021-03-31 15:28
标签:还需 turn nbsp bitmap ini 配置 wstring 变化 相关 本次本篇使用的工具是Maven中的 插件。 ====================================================================================================== 1.首先,需要新建一个maven项目,将单个或多个java文件拷贝到本项目中 例如,下面这个QR_Code.java文件 2.完善pom.xml文件,除了项目中依赖的jar的引用,还需要maven-assembly-plugin插件 ============================================================================================================================================= 【解释一下,直接使用的可以跳过】: 》》(1)打包出来的jar包,是以 {artifactId}-{version}.jar命名的 》》(2)maven-assembly-plugin插件中 默认情况下,maven-assembly-plugin内置了几个可以用的assembly descriptor: 》》(3)针对于maven-assembly-plugin插件中的 =================================================================================================================================================== 3.使用IDEA的同志们,双击插件 即可执行打包指令 执行完整的语句如下: 4.执行完成之后,项目结构会发生变化 5.把jar包拷出来,放在一个位置,就可以上传到nexus上,放在maven私服里,给大家引用了【nexus私服搭建以及相关操作,查看http://www.cnblogs.com/sxdcgaq8080/p/7583767.html】 当然,想更改jar的名字,也可以直接修改完成之后再进行如下操作 打开DOM窗口,执行如下命令 在http://localhost:8081/ 访问nexus 查询就可查看到 这样在项目中引用如下: 6.最后,就可以把这个单独创建的项目 删除就好了 再来补充一篇是idea直接用来打包的 记录一下 目录 打包 调用 File -> Project Structure 然后点左边的Artifacts ,点旁边的绿色加号 新建一个空的jar 随便起个名字,点下图我圈出来的那个绿色的加号 然后选module output,点开把你要打包的module加进去 然后点ok 开始打包:Build->BuildArtifacts->你刚刚加的jar包名字-->build 打包成功的文件在你的项目->classes->artifacts->你刚才起的jar包名 下 还是找到File->Project Structure 在Modules模块:选中你要导入包的modules,然后在右边的Dependencies选项里面点右边的加号 选第一个jars,找到你刚才打的jar包,然后引入jar包 点ok 就ok了。 【Maven jar】打包单个或多个文件,有依赖jar包的将包一起打包成一个jar包供别的项目引用 标签:还需 turn nbsp bitmap ini 配置 wstring 变化 相关 原文地址:https://www.cnblogs.com/cxy2020/p/13541678.htmlmaven-assembly-plugin
package com.sxd.util;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;
import com.google.zxing.*;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.QRCodeReader;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
/**
* 二维码工具类
* @author SXD
* @Date 2018.2.1
*
*/
public class QR_Code {
private static int BLACK = 0x000000;
private static int WHITE = 0xFFFFFF;
/**
* 内部类,设置二维码相关参数
*/
@Data(staticConstructor = "of")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class CodeModel {
/**
* 正文
*/
private String contents;
/**
* 二维码宽度
*/
private int width = 400;
/**
* 二维码高度
*/
private int height = 400;
/**
* 图片格式
*/
private String format = "png";
/**
* 编码方式
*/
private String character_set = "utf-8";
/**
* 字体大小
*/
private int fontSize = 12;
/**
* logo
*/
private File logoFile;
/**
* logo所占二维码比例
*/
private float logoRatio = 0.20f;
/**
* 二维码下文字
*/
private String desc;
private int whiteWidth;//白边的宽度
private int[] bottomStart;//二维码最下边的开始坐标
private int[] bottomEnd;//二维码最下边的结束坐标
}
/**
* 1.创建最原始的二维码图片
* @param info
* @return
*/
private BufferedImage createCodeImage(CodeModel info){
String contents = info.getContents() == null || "".equals(info.getContents()) ? "暂无内容" : info.getContents();//获取正文
int width = info.getWidth();//宽度
int height = info.getHeight();//高度
Map
"C:\Program Files\Java\jdk1.8.0_131\bin\java" -Dmaven.multiModuleProjectDirectory=G:\ideaProjects\B\sxdproject -Dmaven.home=C:\Users\SXD\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\173.3727.127\plugins\maven\lib\maven3 -Dclassworlds.conf=C:\Users\SXD\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\173.3727.127\plugins\maven\lib\maven3\bin\m2.conf -javaagent:C:\Users\SXD\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\173.3727.127\lib\idea_rt.jar=58262:C:\Users\SXD\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\173.3727.127\bin -Dfile.encoding=UTF-8 -classpath C:\Users\SXD\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\173.3727.127\plugins\maven\lib\maven3\boot\plexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version=2017.3 org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:assembly
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building QR_Code 1.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-assembly-plugin:2.2-beta-5:assembly (default-cli) > package @ QR_Code >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ QR_Code ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ QR_Code ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to G:\ideaProjects\B\sxdproject\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ QR_Code ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory G:\ideaProjects\B\sxdproject\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ QR_Code ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ QR_Code ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ QR_Code ---
[INFO] Building jar: G:\ideaProjects\B\sxdproject\target\QR_Code-1.1-SNAPSHOT.jar
[INFO]
[INFO] --- maven-assembly-plugin:2.2-beta-5:single (make-assembly) @ QR_Code ---
[INFO] META-INF/MANIFEST.MF already added, skipping
[INFO] Building jar: G:\ideaProjects\B\sxdproject\target\QR_Code-1.1-SNAPSHOT-jar-with-dependencies.jar
[INFO] META-INF/MANIFEST.MF already added, skipping
[INFO]
[INFO]
mvn deploy:deploy-file -DgroupId=sxd.jar -DartifactId=QR_Code -Dversion=1.1 -Dpackaging=jar -Dfile=G:\test\QR_Code-1.1-SNAPSHOT.jar -Durl=http://localhost:8081/repository/myself_hosted/ -DrepositoryId=myself_hosted
IDEA环境配置——把类封装为jar工具包以供他人调用
打包
调用
下一篇:二维数组
文章标题:【Maven jar】打包单个或多个文件,有依赖jar包的将包一起打包成一个jar包供别的项目引用
文章链接:http://soscw.com/index.php/essay/70519.html