Maven抽取公共类(自定义maven)
为什么使用maven抽取公共类?
在原来的项目中,一般通过使用jar包抽取公共类。如果修改了jar包中的内容,每个项目都需要重新手动导入jar包,使用maven后可以自动导入本地仓库的依赖,而替代了原来的jar包,修改导入的内容后只需要更新本地仓库的maven包即可
实现过程
1、新建一个maven项目,把公共类放入
项目结构
pojo/user
package pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private String username;
private String password;
private String id;
}
service/UserService
package service;
import pojo.User;
import java.util.List;
public interface UserService {
public List<User> queryUser();
}
pom.xml
<!--pom.xml-->
<?xml version="1.0" encoding="UTF-8"?>
<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.common</groupId>
<artifactId>common-component</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
</dependencies>
<!--打包配置-->
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
<encoding>utf8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>jars</classpathPrefix>
</manifest>
<manifestEntries>
<Implementation-Title>project-monitor</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Vendor>kMacro</Implementation-Vendor>
<Build-Time>${maven.build.timestamp}</Build-Time>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
2、将项目打包并放到本地maven库
1、打包
mvn clean package
2、放至本地maven仓库
注意在target目录下
cd target
mvn install:install-file -Dfile=common-component.jar -DgroupId=com.common -DartifactId=common-component -Dversion=0.0.1 -Dpackaging=jar
3、在其他项目中引用此依赖
<dependency>
<groupId>com.common</groupId>
<artifactId>common-component</artifactId>
<version>0.0.1</version>
</dependency>
注意:引用失败可能是版本未对应好,以安装maven时的版本为准
小结
设置完成后即可在其他包引入依赖后使用抽取的公共类,如果有抽取的公共类有更新的地方,可新建一个版本号更高的依赖或者将原依赖重新打包放在maven仓库中(即重复第二步)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现