化石原创文章,转载请注明来源并保留原文链接


mac机上安装jdk 1.8, jdk10,jdk 11。写一个javafx的界面程序,因原因使用jdk11以下。

写的工程中编译工程,出现java: release version 5 not supported。

工程project structure中,以下几个地方:

1、Project Structure | Project上,Project SDK选的是10,Lauguage Level选的是8。

2、Project Structure | Modules | Sources,Lauguage Level选的是5。

3、Project Structure | Modules | Dependencies,Module SDK选的是10。

4、Platform Settings | SDKs,JDK Home path选的是10的home。

5、Other Settings | Preferences for new projects |Build,Execution,Deployment | Compiler | Java compiler | Project bytecode version,选的是same as language。

尝试把第2项里的5改成10,然后再Rebuild。发现问题依旧。回头在去看第2项的地方,发现还是原来的5,看来这个设置下面改不掉。

因为是maven的工程,于是在pom.xml加入了下面内容:

    <properties>
        <maven.compiler.source>1.10</maven.compiler.source>
        <maven.compiler.target>1.10</maven.compiler.target>
    </properties>

然后必须在pom.xml上点出上下文菜单,reimport。最后再Build |Rebuild Project,问题解决。


1、上面的步骤中,改动pom.xml后reimport是必须要注意的一点

2、添加的内容中,maven.compiler.source可以改成1.8,在上述的环境中也能成功。

3、上面的属性,对应到了工程设置2中的level。maven reimport后可以看出来两者的对应。每次pom.xml的reimport,xml文件里的版本号会影响到工程的这个设置。


化石原创文章,转载请注明来源并保留原文链接



化石原创文章,转载请注明来源并保留原文链接


mvn repository解决了很多问题,但是总有例外。比如it.sauronsoftware的base64库,虽然在库里面显示很正常,但是我就是用maven同步不到。

还好可以找到其他的地方下载到jar,还好这个jar并没有其他的依赖。只是一个jar。

下载后我们需要通过mvn安装一下,这样,通过maven建立的工程,可以直接让maven管理,打包的时候就不用自己费心来考虑这个额外的jar。

安装的命令:

mvn install:install-file -DgroupId=it.sauronsoftware "-DartifactId=javabase64" "-Dversion=1.3.1" "-Dpackaging=jar" "-Dfile=E:\lib\javabase64-1.3.1.jar"

上面假设下载的jar在e盘lib文件夹下。

这个命令后,mvn本地仓库里就有了groupId= it.sauronsoftware, artifactId = javabase64, version = 1.3.1的jar。pom里面根据这些信息就可以直接导入。


化石原创文章,转载请注明来源并保留原文链接



化石原创文章,转载请注明来源并保留原文链接


后台程序,使用DataTable的前台排序功能,一直没有问题。突然有天发现排序错乱了。表现是无论通过哪一列让其排序,看起来结果都不对。

跟踪了一下源代码服务器日志,发现对应的DataTable配置没有改动。直接把问题放到了数据上。数据喂给DataTable的地方,原来修改了个前端加密显示数字的地方,所以导致肉眼上看到的数字和数字内部、也即后面的数字号码并不是按照默认数字的升序、降序排列。而DataTable显然使用内部的号码排序,所以导致这个错误。

干掉这个错误的方式是可以让这段数字不加密,恢复原来的方式(因为是后台使用的一个表格)。如果发生在前端,要支持加密的话,必须让数字加密的时候不要改变0到9本来在ascii表里的顺序。


化石原创文章,转载请注明来源并保留原文链接



化石原创文章,转载请注明来源并保留原文链接


1、下载需要的ttf字库文件,比如可以搜索PingFang-SC-Regular.ttf下载

2、安装fonttools

pip install fonttools

3、上面的工具安装后可以启用命令

pyftsubset pathofttffile –text=”characterneeded” –output-file=”generatedfilepath”

举例:

pyftsubet ~/PingFang-SC-Regular.ttf –text=”1234567890″ –output-file=”./output.tty”

4、生成的字库文件转化成svg文件,使用下面的在线网站直接转化

https://convertio.co/

5、转化后的svg使用这个在线网站转化成网站需要的资料

http://fontello.com/

到这里我们就得到了加密后的字库和对应的字与它的代码的关系(可以在上面的资料的demo.html看映射关系)

6、拷贝第5步的css文件和字库到工程

7、写一个自己的css类给特定的显示使用,里面的font-family使用我们6中css文件中的font-face定义到的名字

8、使用。在需要的地方,引入我们自己的css类,显示的内容的码由后台通过字和代码的映射,替换原来的字。然后交由浏览器显示即可。


化石原创文章,转载请注明来源并保留原文链接



化石原创文章,转载请注明来源并保留原文链接


mac系统上,做了一次brew update; brew upgrade; 本来一直运行正常的mongodump命令突然出错,错误如下:

$ dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib   
Referenced from: /usr/local/bin/mongodump   
Reason: image not found

查了一下网络,出这个问题的不少,大家也不一定都是用mongodump出这个问题,各个软件都有。毕竟,问题的关键是个中间库:openssl,使用该软件的软件多如牛毛。

解决这个方式我就直接Downgrade openssl:

1、brew uninstall –ignore-dependencies openssl

2、brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/30fd2b68feb458656c2da2b91e577960b11c42f4/Formula/openssl.rb

第1步是卸载当前的openssl,因为有python之类的会依赖这个库,所以加了参数强制卸载。

第2步就是安装openssl 1.0.0.


化石原创文章,转载请注明来源并保留原文链接