3 Star 13 Fork 8

Shisan / MyUtils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

MyUtils

项目介绍

此项目依赖于JDK8,仅是一个适合个人使用的小工具集,完全出于个人兴趣开发。 页面采用javafx的WebView作为基础组件,html+css绘制界面,js+java控制逻辑。 由于是有限的业余时间,所以项目的封装比较操蛋,等有机会了慢慢优化。 (说明下,windows下如果运行PackageJar出现乱码无法编译通过就为javac添加 -encoding utf-8的参数,此时运行程序可能还会出现乱码比如歌词显示,要么为程序的JVM启动添加 -Dfile.encoding=UTF-8参数或配置全局参数,在环境变量中添加 JAVA_TOOL_OPTIONS,值指定为-Dfile.encoding=UTF-8即可解决。)

项目包含:

以下主要是Plug-In的说明:

  • ToBase64 生成文件的BASE64编码

  • MySqlHandle 使用js操作数据库,摒弃本人认为的MySQL对存储过程事务处理的不到位,主要是用于开发对数据库的快速维护

  • Hashchecker 生成文件/字符串的MD5

  • MusicPlayer 对mac本自带的播放器不满意以及个人对kolka的音量电平特效的喜爱封装的音乐播放器

  • file-seacher 简单的文件搜索小工具,主要是不喜欢mac的finder搜索文件没有文件路径拷贝

  • ActiveMission 不做介绍,本身也不是公共的工具

  • screenlooker 不做介绍,只是个人兴趣测试的IO 屏幕录像广播

软件架构

共分为三部分,Fx-Web是全局依赖库,简化java与js互相调用的实现以及包扫描机制都在Fx-Web中实现,MyBase是基于Fx-Web做的扩展,主要是界面的实现以及一些util的扩展,然而它没有具体的功能实现,ToBase64,MySqlHandle,Hashchecker,MusicPlayer等是具体功能的实现。 具体依赖可以看作:

Fx-Web -> My-Base -> ToBase64

Fx-Web -> My-Base -> MusicPlayer

...

其中,ToBase64等作为plug-in被安装在了MyBase里边,MyBase的运行依赖着Fx-Web。

安装教程

本应用并没有依赖过多的三方库,因此直接copy后导入到idea/eclipse/netbean,配置好maven即可运行。 如果运行MyBase/sample/Main.java,则需要安装根目录的pom.xml,同时需要打开如下代码,每一行对应一个功能,如果不需要可以注释掉:

//以下代码在idea中运行需要打开,同时Main.dev = false,如果打包package以下代码需要关闭,同时Main.dev = false!
//        Scanner.addOutScannerPath("ToBase64/target/ToBase64-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("MySqlHandle/target/My-SqlHandle-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("Hashchecker/target/hashchecker-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("file-searcher/target/file-searcher-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("ActiveMission/target/ActiveMission-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("screenlooker/target/screenlooker-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("com.music-player/target/com.music-player-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("/Users/comp/Documents/other/music-lib/XiamiLib/target/com.music.lib.Xiami-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("/Users/comp/Documents/other/music-lib/KugouLib/target/com.music.lib.kugou-1.0-SNAPSHOT.jar");
//        Scanner.addOutScannerPath("/Users/comp/Documents/other/music-lib/QianqianLib/target/QianqianLib-1.0-SNAPSHOT.jar");

同时需要保持 Main的dev属性为false:

//MyBase/sample/Main.java
//dev模式为false表示关闭开发模式。
//可以参见com.music.player下的MusicRunner.java实现,需要通过某个plug-in启动需要将dev设置为true。
public static boolean dev = false;

使用说明

打包成独立应用,脱离IDE运行,仅需三步:

  1. install 根目录的pom.xml,请注意该pom中的build标签,windows用;隔离,mac/linux用:隔离。
  2. 打开MyBase/src/test/java/PackageJar,修改:
//将路径修改为自定义的位置即可
String targetDir = "/Users/comp/Documents/other/MyUtilJar";

3.运行PackageJar的main方法即可完成打包。

需要注意的是,JDK8被配置在了环境变量中,运行PackageJar文件必须在mvn install之后。

安装后目录说明

  • [lib]
    • fxWeb.jar 必须依赖的库,由Fx-Web打包生成
    • log4jxxx 日志输出依赖的库
    • fastjson.jar 阿里的fasejson库
  • [plug-lib] plug-in运行依赖的库,在不需要时可以直接移除
    • jsch.jar SqlHandle的ssh访问依赖
  • [plug-in] 插件列表,该目录下的所有jar在启动时都会被加入到My-Base的功能列表中,如果不需要某一个功能,可delete掉。
    • 为什么这个包会很大,因为携带了音乐播放器需要的JAVE插件,包括各个操作系统的解码器。

主页面运行界面

主页面

ToBase64运行界面

ToBase64

音乐播放器运行界面

播放列表 支持的网络爬虫库

空文件

简介

我的小工具集小工具界面采用html+css编写,逻辑处理使用js+java代码协同工作,使用的是JavaFX的WebView作为基本组件。使用javafx绘画界面太麻烦,而且不是很灵活,所以想办法使用html替代之。依靠原生的WebEngine编写js与java代码通信太麻烦,并且webEngine无法将数据在载入js之前导入数据,所以衍生了使用json作为js与java的数据交换方式,使用resource标签替代原生的script和css标签,使用ClassReader+JarFile类扫描机制自动装载所有的指定注解的类并自动生成js->java的调用方法,每个小工具分散且可静态插拔的方式管理(类似于eclipse的plug-in一样)。注意,WebView对Frame支持的非常不友... 展开 收起
Java 等 5 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/com_shisan/MyUtils.git
git@gitee.com:com_shisan/MyUtils.git
com_shisan
MyUtils
MyUtils
master

搜索帮助