当前位置: 首页 > news >正文

maven项目打包成sdk后在别的项目使用

创建sdk项目

关键在于maven install和在pom文件中定义好groupId、actifactId、version。

写简单的两个类

判断回文

public class StringValidator {/*** 检查给定的字符串是否为回文。* 回文是指正读和反读都一样的字符串(忽略空格、大小写)。** @param str 要检查的字符串,可能为 null。* @return 如果字符串是回文,则返回 true;否则返回 false。*/public static boolean isPalindrome(String str) {if (str == null) {return false;}String clean = str.replaceAll("\\s+", "").toLowerCase();int length = clean.length();for (int i = 0; i < length / 2; i++) {if (clean.charAt(i) != clean.charAt(length - 1 - i)) {return false;}}return true;}}

首字母大写

public class StringFormatter {/*** 将输入字符串转换为标题格式,即每个单词首字母大写,其余字母小写。* 如果输入字符串为 null 或空字符串,则直接返回原字符串。** @param input 要转换的字符串,可能为 null。* @return 转换后的标题格式字符串。*/public static String toTitleCase(String input) {if (input == null || input.isEmpty()) {return input;}StringBuilder titleCase = new StringBuilder();boolean nextTitleCase = true;for (char c : input.toCharArray()) {if (Character.isSpaceChar(c)) {nextTitleCase = true;} else if (nextTitleCase) {c = Character.toTitleCase(c);nextTitleCase = false;} else {c = Character.toLowerCase(c);}titleCase.append(c);}return titleCase.toString();}}

pom和打包

定义好

<groupId>com.kenyi</groupId>
<artifactId>sdkDemo</artifactId>
<version>1.0-SNAPSHOT</version>

还有打包的maven插件

    <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>

完整的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.kenyi</groupId><artifactId>sdkDemo</artifactId><version>1.0-SNAPSHOT</version><name>kenyi SDK demo</name><description>A simple SDK demo</description><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version></properties><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build></project>

打包用maven的install插件即可,会自动打包安装到本地的maven仓库中
在这里插入图片描述
在这里插入图片描述

使用sdk

在另一个项目中的pom添加依赖

        <dependency><groupId>com.kenyi</groupId><artifactId>sdkDemo</artifactId><version>1.0-SNAPSHOT</version></dependency>
package com.kenyi.demo.common;import com.kenyi.sdk.common.StringFormatter;
import com.kenyi.sdk.common.StringValidator;/*** @author BIGSHU0923* @since 2025/6/30 22:51*/
public class StringUtils {public static void main(String[] args) {// 使用SDK中的功能String title = StringFormatter.toTitleCase("hello world");// 输出: Hello WorldSystem.out.println(title);// 输出: Is palindrome: trueboolean isPal = StringValidator.isPalindrome("madam");System.out.println("Is palindrome: " + isPal);}}

结果
在这里插入图片描述

http://www.lryc.cn/news/617785.html

相关文章:

  • 深度解析三大HTTP客户端(Fetch API、Axios 和 Alova)——优劣与选择策略
  • 【03】厦门立林科技——立林科技 嵌入式 校招笔试,题目记录及解析
  • REDIS 各种数据结构有什么作用?都能干什么?
  • 写一篇Ping32和IP-Guard的对比,重点突出Ping32
  • 使用行为树控制机器人(一) —— 节点
  • 芯片学习 8 :IP集成、cluster、lint
  • 大语言模型(LLM)核心概念与应用技术全解析:从Prompt设计到向量检索
  • AI入门学习--如何写好prompt?
  • MySQL 数据操作全流程:创建、读取、更新与删除实战
  • 高精度蓝牙定位:技术、应用与未来发展
  • 【Docker实战进阶】Docker 实战命令大全
  • 从零构建企业级K8S:高可用集群部署指南
  • LeetCode算法日记 - Day 8: 串联所有单词的子串、最小覆盖子串
  • kubeadm搭建生产环境的双master节点k8s高可用集群
  • Android视频编辑方案测评:轻量化剪辑工具的性能表现
  • LAZADA跨境电商自养号测评环境搭建:安全与合规的底层逻辑解析
  • Centos8系统在安装Git包时,报错:“没有任何匹配: git”
  • 【图像处理基石】UE输出渲染视频,有哪些画质相关的维度和标准可以参考?
  • LVPECL、LVDS、LVTTL、LVCMOS四种逻辑电平标准的全面对比
  • redis(1)-基本概念
  • ESP32 输入密码后执行程序
  • 【bug】diff-gaussian-rasterization Windows下编译 bug 解决
  • 苹果个人开发者如何实现应用下载安装
  • 【Unity】打包学习笔记
  • IEEE754 double 类型步长规律,从1.0的二进制表示、紧挨着1.0略大和略小的数开始归纳
  • perl notes【1】
  • 【linux】企业级WEB应用服务器tomcat
  • 达梦数据库慢SQL日志收集和分析
  • 1.Apollo Planning 模块总结
  • 打破内网枷锁!TRAE SOLO + cpolar 让AI开发告别“孤岛困境”