MAKESOFT开发者社区
最新推荐文章
  • 发动态
  • 发帖子
  • 发文章
登录
首页
分类
  • 发动态
  • 发帖子
  • 发文章
最新
推荐
文章
消息
登录
最新
推荐
  • 最新
  • 推荐
  • 前端
  • 后端
  • 开源
  • 架构
  • DevOps
  • 数据库
  • 移动
  • webRtc
  • 资源
  • 分享
  • 无聊
  • 反馈
  • 提问
  • 热图
  • 交流
  • YYDS
    YYDS YYDS
    发布于16天前

    反编译jar包的命令

    ue xxx.jar yz
    赞
    评论
    浏览 56
    后端
  • S
    S sosoalone
    发布于2022-04-20 17:51:06

    maven将所有依赖的jar包打成一个大的jar包《收藏一下》

    gt;maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <!--这里要替换成jar包main方法所在类 --> <mainClass>com.agileai.license.MainExe</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
    赞 3
    评论
    浏览 141
    后端
  • YYDS
    YYDS YYDS
    发布于2022-04-13 15:32:55

    换成jdk11后报错Could not initialize class sun.awt.X11FontManager

    解决方案 apt-get install libfontconfig1
    赞 3
    评论
    浏览 133
    后端
  • S
    S sosoalone
    发布于2022-03-22 14:08:38

    java复制文件夹

    r)).isDirectory()) return; (new File(targetDir)).mkdirs(); File[] file = (new File(sourceDir)).listFiles(); for (int i = 0; i < file.length; i++) { if (file[i].isFile()) { File sourceFile = file[i]; File targetFile = new File((new File(targetDir)).getAbsolutePath() + File.separator + file[i].getName()); copyFile(sourceFile, targetFile); } if (file[i].isDirectory()) { String dir1 = sourceDir + File.separator + file[i].getName(); String dir2 = targetDir + File.separator + file[i].getName(); copyDirectiory(dir1, dir2); } }
    赞 1
    评论
    浏览 142
    后端
  • S
    S sosoalone
    发布于2022-03-17 13:49:51

    maven项目引用本地当前目录的lib包

    g.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${project.basedir}/lib</extdirs> </compilerArguments> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-resources</id> <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources> <!--把配置文件打包到指定路径--> <resource> <directory>src/main/resources/</directory> <includes> <include>**/*.*</include> </includes> </resource> </resources> <outputDirectory>${project.build.directory}/config</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <!--不打入jar包的文件类型或者路径--> <!--<includes>--> <!--<include>com/**</include>--> <!--</includes>--> <archive> <manifest> <!-- 执行的主程序路径 --> <mainClass>com.yozo.fcscloud.provider.web.cmc.FcscloudApplication</mainClass> <!--是否要把第三方jar放到manifest的classpath中--> <addClasspath>true</addClasspath> <!--生成的manifest中classpath的前缀,因为要把第三方jar放到lib目录下,所以classpath的前缀是lib/--> <classpathPrefix>lib/</classpathPrefix> <!-- 打包时 MANIFEST.MF 文件不记录的时间戳版本 --> <useUniqueVersions>false</useUniqueVersions> </manifest> <manifestEntries> <!-- 在 Class-Path 下添加配置文件的路径 --> <Class-Path>config/</Class-Path> </manifestEntries> </archive> </configuration> </plugin> <!--<plugin>--> <!--<groupId>org.apache.maven.plugins</groupId>--> <!--<artifactId>maven-assembly-plugin</artifactId>--> <!--<executions>--> <!--<execution><!– 配置执行器 –>--> <!--<id>make-assembly</id>--> <!--<phase>package</phase><!– 绑定到package生命周期阶段上 –>--> <!--<goals>--> <!--<goal>single</goal><!– 只运行一次 –>--> <!--</goals>--> <!--<configuration>--> <!--<finalName>${project.name}</finalName>--> <!--<descriptor>src/main/assembly/assembly.xml</descriptor><!–配置描述文件路径–>--> <!--</configuration>--> <!--</execution>--> <!--</executions>--> <!--</plugin>--> </plugins> </build>
    赞 1
    评论
    浏览 141
    后端
  • YYDS
    YYDS YYDS
    发布于2021-10-15 21:46:23

    java启动时自定义配置文件环境和路径

    ocation与本地配置文件属性不能互补 //使用spring.config.additional-location替代spring.config.location才能互补本地的application.yml的通用属性 -Dspring.config.additional-location=/../../application-dev.yml
    赞 1
    评论
    浏览 290
    后端
  • 一言难尽
    一言难尽 一言难尽
    发布于2021-09-29 16:15:28

    记录一下java操作mongodb多条件动态分页查询代码

    le<Info> infoExample = Example.of(info); infoExample.getMatcher().withIgnorePaths("lastProcessedTime"); Query query = new Query(Criteria.byExample(infoExample)); Criteria criteria = new Criteria(); Criteria nb = new Criteria(); nb.and("type").is(4).and("docChapters").elemMatch(Criteria.where("lastProcessedTime").exists(false)); Criteria ts = new Criteria(); ts.and("type").is(3).and("lastProcessedTime").exists(false).and("content").exists(true); criteria.orOperator(nb,ts); query.addCriteria(criteria); query.with(Sort.by( Sort.Order.desc("createTime") )); query.with(pageRequest); long count = mongoTemplate.count(query, Info.class); Page<Info> page = new PageImpl<>(mongoTemplate.find(query, Info.class), pageRequest, count); List<Info> infos = page.getContent();
    赞 1
    评论
    浏览 332
    后端
  • 源
    源 源
    发布于2021-09-22 23:42:09

    java模糊查询——MongoDB

    ompatible Regular Expression) 作为正则表达式语言。 当要实现MongoDB的document中某字段内容模糊查询时,可以在数组字段中使用正则表达式来查找内容 示例代码: /** * @Description: fuzzy,设置模糊查询条件 * @param map: * @return: org.bson.Document * @Author: hsy * @Date: 2020/12/11 */ public Document fuzzy(Map<String, Object> map){ List<Map<String, Object>> fuzzys = new ArrayList<>(); Document document = new Document(); if (map.containsKey("filter") && null != map.get("filter") && !"".equals(map.get("filter")) && map.get("filter")instanceof Map){ Map<String,Object> filter = (Map<String, Object>) map.get("filter"); for (Map.Entry<String, Object> entry:filter.entrySet()){ Map<String,Object> fuzzy = new HashMap<>(); Map<String,Object> regex = new HashMap<>(); regex.put("$regex",entry.getValue()); fuzzy.put(entry.getKey(),regex); fuzzys.add(fuzzy); } if (null != fuzzys && fuzzys.size()>0){ document = new Document("$and", fuzzys); } } return document; } /** * @Description: fuzzyQuery,模糊查询 * @param map: * @return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>> * @Author: hsy * @Date: 2020/12/11 */ @Override public List<Map<String, Object>> fuzzyQuery(Map<String, Object> map) { MongoCursor<Document> cursor = getDBCollection(map.get("collectionName").toString()).find(fuzzy(map)).iterator(); List<Map<String, Object>> mapList = new ArrayList<>(); while (cursor.hasNext()){ Document document = cursor.next(); mapList.add(document); } return mapList; }
    赞 3
    评论
    浏览 438
    后端
  • 源
    源 源
    发布于2021-09-22 23:37:01

    java字符串与数组相互转换

    tring splitStr){ if (map.containsKey(key) && null != map.get(key) && !"".equals(map.get(key))){ String[] arrayStr = map.get(key).toString().split(splitStr);//字符串转字符数组 List<String> strings = Arrays.asList(arrayStr); map.put(key,strings); } } //字符串分割转数组 public static Map<String,Object> string2Array(Map<String,Object> map ,String key,String splitStr){ String string = map.get(key)!=null?map.get(key).toString():""; if(string!=null&&string.trim().length()>0){ String[] strArr = string.split(splitStr); map.put(key,strArr); } return map; } 数组转字符串: 使用StringUtils的join(); 使用ArrayUtils的toString();
    赞
    评论
    浏览 332
    后端
  • 源
    源 源
    发布于2021-09-22 23:33:38

    汉字转拼音(多音字处理)——Java

    rt java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @Program: * @ClassName: PinyinUtil * @Description: 汉字转拼音 * @Author: hsy * @CreateDate: 2020/12/7 **/ public class PinyinUtil { private static Map<String, List<String>> pinyinMap = new HashMap<String, List<String>>(); /** * @Description: convertInitialToUpperCase,将某个字符串的首字母大写 * @param str: 汉字字符串 * @return: java.lang.String * @Author: hsy * @Date: 2020/12/7 */ public static String convertInitialToUpperCase(String str){ if(str==null){ return null; } StringBuffer sb = new StringBuffer(); char[] arr = str.toCharArray(); for(int i=0;i<arr.length;i++){ char ch = arr[i]; if(i==0){ sb.append(String.valueOf(ch).toUpperCase()); }else{ sb.append(ch); } } return sb.toString(); } /** * @Description: convertChineseToPinyin,汉字转拼音,多音字自定义配置 * @param chinese: 汉字字符串 * @return: java.lang.String * @Author: hsy * @Date: 2020/12/7 */ public static String convertChineseToPinyin(String chinese){ String path = System.getProperty("user.dir")+"/duoyinzi_dic.txt"; // System.out.println("多音字字典路径=====》"+path); initPinyin(path); StringBuffer pinyin = new StringBuffer(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); char[] arr = chinese.toCharArray(); for (int i = 0; i < arr.length; i++){ char ch = arr[i]; if (ch > 128){ //非ASCII码 // 取得当前汉字的所有全拼 try { String[] results = PinyinHelper.toHanyuPinyinStringArray(ch, defaultFormat); if (results == null){ //非中文 return ""; }else { int len = results.length; if (len == 1){ //不是多音字 // pinyin.append(results[0]); String py = results[0]; if (py.contains("u:")){ //过滤 u: py = py.replace("u:", "v"); // System.out.println("filter u:"+py); } pinyin.append(convertInitialToUpperCase(py)); //拼音首字母大写 }else if (results[0].equals(results[1])){ //非多音字 有多个音,取第一个 // pinyin.append(results[0]); pinyin.append(convertInitialToUpperCase(results[0])); }else { //多音字 // System.out.println("多音字:"+ch); int length = chinese.length(); boolean flag = false; String s = null; List<String> keyList =null; for (int x = 0; x < len; x++){ String py = results[x]; if (py.contains("u:")){ //过滤 u: py = py.replace("u:", "v"); // System.out.println("filter u:"+py); } keyList = pinyinMap.get(py); if (i + 3 <= length){ //后向匹配2个汉字 s = chinese.substring(i, i + 3); if (keyList != null && (keyList.contains(s))){ // System.out.println("last 2 > " + py); // pinyin.append(results[x]); pinyin.append(convertInitialToUpperCase(py)); flag = true; break; } } if (i + 2 <= length){ //后向匹配 1个汉字 s = chinese.substring(i, i + 2); if (keyList != null && (keyList.contains(s))){ // System.out.println("last 1 > " + py); // pinyin.append(results[x]); pinyin.append(convertInitialToUpperCase(py)); flag = true; break; } } if ((i - 2 >= 0) && (i+1<=length)){ // 前向匹配2个汉字 s = chinese.substring(i - 2, i+1); if (keyList != null && (keyList.contains(s))){ // System.out.println("before 2 < " + py); // pinyin.append(results[x]); pinyin.append(convertInitialToUpperCase(py)); flag = true; break; } } if ((i - 1 >= 0) && (i+1<=length)){ // 前向匹配1个汉字 s = chinese.substring(i - 1, i+1); if (keyList != null && (keyList.contains(s))){ // System.out.println("before 1 < " + py); // pinyin.append(results[x]); pinyin.append(convertInitialToUpperCase(py)); flag = true; break; } } if ((i - 1 >= 0) && (i+2<=length)){ //前向1个,后向1个 s = chinese.substring(i - 1, i+2); if (keyList != null && (keyList.contains(s))){ // System.out.println("before last 1 <> " + py); // pinyin.append(results[x]); pinyin.append(convertInitialToUpperCase(py)); flag = true; break; } } } if (!flag){ //都没有找到,匹配默认的读音 s = String.valueOf(ch); for (int x = 0; x < len; x++){ String py = results[x]; if (py.contains("u:")){ py = py.replace("u:", "v"); // System.out.println("filter u:"); } keyList = pinyinMap.get(py); if (keyList != null && (keyList.contains(s))){ // System.out.println("default = " + py); // pinyin.append(results[x]); pinyin.append(convertInitialToUpperCase(py)); break; } } } } } }catch (BadHanyuPinyinOutputFormatCombination e){ e.printStackTrace(); } }else { pinyin.append(arr[i]); } } return pinyin.toString(); } /** * @Description: initPinyin,多音字配置 * @param fileName: * @return: void * @Author: hsy * @Date: 2020/12/7 */ public static void initPinyin(String fileName) { BufferedReader br = null; try { // 读取多音字的全部拼音表; InputStream file = new FileInputStream(fileName); // InputStream file = PinyinHelper.class.getResourceAsStream(fileName); br = new BufferedReader(new InputStreamReader(file)); String s; while ((s = br.readLine()) != null) { if (s != null) { String[] arr = s.split("#"); String pinyin = arr[0]; String chinese = arr[1]; if(chinese!=null){ String[] strs = chinese.split(" "); List<String> list = Arrays.asList(strs); pinyinMap.put(pinyin, list); } } } } catch (IOException e) { e.printStackTrace(); }finally{ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * @Description: getPinyin,汉字转拼音 * @param paramString: 要转拼音的汉字 * @return: java.lang.String * @Author: hsy * @Date: 2020/12/7 */ public static String getPinyin(String paramString) { return getPinyinZh_CN(convertStringByChinese(paramString)); } /** * @Description: getPinyinToUpperCase,汉字转拼音(大写) * @param paramString: 要转拼音的汉字 * @return: java.lang.String * @Author: hsy * @Date: 2020/12/7 */ public static String getPinyinToUpperCase(String paramString) { return getPinyinZh_CN(convertStringByChinese(paramString)).toUpperCase(); } /** * @Description: getPinyinToLowerCase,汉字转拼音(小写) * @param paramString: 要转拼音的汉字 * @return: java.lang.String * @Author: hsy * @Date: 2020/12/7 */ public static String getPinyinToLowerCase(String paramString) { return getPinyinZh_CN(convertStringByChinese(paramString)).toLowerCase(); } /** * @Description: getPinyinFirstToUpperCase,汉字转拼音首字母大写 * @param paramString: 要转拼音的汉字 * @return: java.lang.String * @Author: hsy * @Date: 2020/12/7 */ public static String getPinyinFirstToUpperCase(String paramString) { return getPinyin(paramString); } private static HanyuPinyinOutputFormat getDefaultFormat() { HanyuPinyinOutputFormat localHanyuPinyinOutputFormat = new HanyuPinyinOutputFormat(); localHanyuPinyinOutputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); localHanyuPinyinOutputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); localHanyuPinyinOutputFormat.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON); return localHanyuPinyinOutputFormat; } private static Set<String> convertStringByChinese(String paramString) { char[] arrayOfChar1 = paramString.toCharArray(); if ((paramString != null) && (!paramString.trim().equalsIgnoreCase(""))) { char[] arrayOfChar2 = paramString.toCharArray(); String[][] arrayOfString = new String[paramString.length()][]; for (int i = 0; i < arrayOfChar2.length; i++) { char c = arrayOfChar2[i]; if ((String.valueOf(c).matches("[\\u4E00-\\u9FA5]+")) || (String.valueOf(c).matches("[\\u3007]"))) { try { arrayOfString[i] = PinyinHelper.toHanyuPinyinStringArray(arrayOfChar1[i], getDefaultFormat()); } catch (BadHanyuPinyinOutputFormatCombination localBadHanyuPinyinOutputFormatCombination) { localBadHanyuPinyinOutputFormatCombination.printStackTrace(); } } else { arrayOfString[i] = new String[] { String.valueOf(arrayOfChar2[i]) }; } } String[] arrayOfString1 = exchange(arrayOfString); HashSet localHashSet = new HashSet(); for (int j = 0; j < arrayOfString1.length; j++) { localHashSet.add(arrayOfString1[j]); } return localHashSet; } return null; } private static String[] exchange(String[][] paramArrayOfString) { String[][] arrayOfString = doExchange(paramArrayOfString); return arrayOfString[0]; } private static String[][] doExchange(String[][] paramArrayOfString) { int i = paramArrayOfString.length; if (i >= 2) { int j = paramArrayOfString[0].length; int k = paramArrayOfString[1].length; int m = j * k; String[] arrayOfString = new String[m]; int n = 0; for (int i1 = 0; i1 < j; i1++) { for (int i2 = 0; i2 < k; i2++) { arrayOfString[n] = (capitalize(paramArrayOfString[0][i1]) + capitalize(paramArrayOfString[1][i2])); n++; } } String[][] arrayOfString1 = new String[i - 1][]; for (int i2 = 2; i2 < i; i2++) { arrayOfString1[(i2 - 1)] = paramArrayOfString[i2]; } arrayOfString1[0] = arrayOfString; return doExchange(arrayOfString1); } return paramArrayOfString; } private static String capitalize(String paramString) { char[] arrayOfChar = paramString.toCharArray(); if ((arrayOfChar != null) && (arrayOfChar.length > 0) && (arrayOfChar[0] >= 'a') && (arrayOfChar[0] <= 'z')) { arrayOfChar[0] = ((char) (arrayOfChar[0] - ' ')); } return new String(arrayOfChar); } private static String getPinyinZh_CN(Set<String> paramSet) { StringBuilder localStringBuilder = new StringBuilder(); int i = 0; Iterator localIterator = paramSet.iterator(); while (localIterator.hasNext()) { String str = (String) localIterator.next(); if (i == paramSet.size() - 1) { localStringBuilder.append(str); } else { localStringBuilder.append(str + ","); } i++; } return localStringBuilder.toString(); } /** * @Description: getPinYinHeadChar,汉字转拼音,只返回首字母 * @param paramString: 要转拼音的汉字 * @return: java.lang.String * @Author: hsy * @Date: 2020/12/7 */ public static String getPinYinHeadChar(String paramString) { StringBuffer localStringBuffer = new StringBuffer(); if ((paramString != null) && (!paramString.trim().equalsIgnoreCase(""))) { for (int i = 0; i < paramString.length(); i++) { char c = paramString.charAt(i); String[] arrayOfString = PinyinHelper.toHanyuPinyinStringArray(c); if (arrayOfString != null) { localStringBuffer.append(arrayOfString[0].charAt(0)); } else { localStringBuffer.append(c); } } } return localStringBuffer.toString(); } public static String strFilter(String paramString) throws PatternSyntaxException { String str = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?\"]"; Pattern localPattern = Pattern.compile(str); Matcher localMatcher = localPattern.matcher(paramString); return localMatcher.replaceAll("").trim(); } /** * @Description: getPinYinHeadCharFilter,汉字转拼音,只返回首字母并过滤特殊字符 * @param paramString: 要转拼音的汉字 * @return: java.lang.String * @Author: hsy * @Date: 2020/12/7 */ public static String getPinYinHeadCharFilter(String paramString) { return strFilter(getPinYinHeadChar(paramString)); } public static void main(String[] paramArrayOfString) { String path = System.getProperty("user.dir")+"/duoyinzi_dic.txt"; System.out.println("路径=====》"+path); initPinyin(path); String pinyin = convertChineseToPinyin("捋捋关系"); System.out.println("pinyin=====>"+pinyin); Logger localLogger = LoggerFactory.getLogger(PinyinUtil.class); // String str = "〇的输¥¥#s,ldsa"; String str = "捋捋关系"; localLogger.info("小写输出:" + getPinyinToLowerCase(str)); localLogger.info("大写输出:" + getPinyinToUpperCase(str)); localLogger.info("首字母大写输出:" + getPinyinFirstToUpperCase(str)); localLogger.info("返回中文的首字母输出:" + getPinYinHeadChar(str)); localLogger.info("返回中文的首字母并过滤特殊字符输出:" + getPinYinHeadCharFilter(str)); } }
    赞
    评论
    浏览 364
    后端
签到
0
立即签到
公告

MAKESOFT开发者社区 www.makesoft.cn,一个交流分享互助平台,帮助大家打造个人品牌,积累资源,知识分享变现,助力职业发展。 由 Springboot+mybatis-plus 微服务框架,希望大家喜欢。开源地址http://gitee.com

积分排行
  • YYDS
    YYDS

    0 帖子 • 0 评论

    16
  • 怡
    怡然

    1 帖子 • 1 评论

    12
  • 测
    测试

    1 帖子 • 1 评论

    7
  • 一言难尽
    一言难尽

    0 帖子 • 0 评论

    5
  • S
    sosoalone

    0 帖子 • 0 评论

    5
  • 编程笔记
    编程笔记

    0 帖子 • 0 评论

    2
  • 吓
    吓死蚊子

    0 帖子 • 0 评论

    1
  • kidd
    kidd

    0 帖子 • 0 评论

    1
  • 滔滔
    滔滔

    0 帖子 • 0 评论

    1
  • 薄情
    薄情

    0 帖子 • 0 评论

    1
友情链接 查看更多>>
  • 别摸网

    别摸网是一个年轻人的交流社区,我们交流分享想法、发现生活乐趣、探索有趣好玩的事情!

关于 标签 友链
© 2021 Powered by biemo-cloud

发表言论时,遵守当地法律法规。本站部分图片、文章来源于网络,版权归原作者所有,如有侵权,请与我联系删除。

湘ICP备14016160号-1