分类目录归档:电脑网络

MacOS 中切换 JDK

倘若装有多个版本,特别是从 8 跨到 9 这个分界线,如果是基于 IDE,那么一般使用 IDE 提供的 JDK 设置来指定就可以了。但如果是直接命令执行,那就需要来个方便切换版本的方法。

对于 MacOS,只需要设定 JAVA_HOME 这个环境变量就可以了,甚至不必要把这个路径添加到 PATH 中。

同时,在 MacOS 中,JAVA 相关有个好用的内置工具:/usr/libexec/java_home

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ /usr/libexec/java_home -h
Usage: java_home [options...]
    Returns the path to a Java home directory from the current user's settings.

Options:
    [-v/--version   <version>]       Filter Java versions in the "JVMVersion" form 1.X(+ or *).
    [-a/--arch      <architecture>]  Filter JVMs matching architecture (i386, x86_64, etc).
    [-d/--datamodel <datamodel>]     Filter JVMs capable of -d32 or -d64
    [-t/--task      <task>]          Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine)
    [-F/--failfast]                  Fail when filters return no JVMs, do not continue with default.
    [   --exec      <command /> ...]   Execute the $JAVA_HOME/bin/<command /> with the remaining arguments.
    [-R/--request]                   Request installation of a Java Runtime if not installed.
    [-X/--xml]                       Print full JVM list and additional data as XML plist.
    [-V/--verbose]                   Print full JVM list with architectures.
    [-h/--help]                      This usage information.

所以,通过 /usr/libexec/java_home -v 1.8 这样的形式即可把 JDK 切到指定版本(这里是 8,当然,需要先安装对应的版本)。

然后给 bash/zsh 等 shell 添加上一个 function 就可以简单地来切换了,我用的是 fish,在 ~/.config/fish/functions/ 下添加一个 setjdk.fish,填写以下内容,那么就可以在终端中使用 setjdk 1.8 / setjdk 9 的形式来切换到 JDK8 和 JDK9 了。

继续阅读

PHP 静态服务器

一直用 python 的 python -m SimpleHTTPServer 8080 的形式来做简单的静态服务器。

原来 PHP 也有类似的工具,如 php -S localhost:8080,支持 PHP 文件和 POST 哦。

Mac ssh key

Mac 下创建了 ssh 密钥,但可能会发现不生效,原因是没有添加到列表中,可以用 ssh-add the_private_key_path 来添加,然后用 ssh-add -l 来列出列表确认已经添加。

但是可能会发现 mac 下重启后丢失所有 key, 需要重新用 ssh-add 添加,可以把密钥添加仅 keyChain 中来保存。

1
ssh-add -K the_private_key_path

Git 文件名大小写问题

由于 Mac 下文件名大小写不敏感,造成 git 下如果改了名字,譬如小写改大些,推送到 linux 服务器的时候会没有效果,Github 上的也是小写。
所以,如果在 Mac 上改文件名,需要用下面的命令

1
$ git mv --force myfile MyFile

ZSH历史命令自动补全

oh-my-zsh 的默认配置在碰到历史命令替换时需要先替换出来确认一遍才会执行,不会默认执行。

如原本下面的命令会直接进入新建的目录

1
2
3
$ mkdir dir
$ cd !$
$

但在 zsh(oh-my-zsh 默认配置) 中,会变成

1
2
3
$ mkdir dir
$ cd !$
$ cd dir

移除这个的默认配置,只需在配置文件终稿添加 unsetopt hist_verify 即可。