2016年3月25日星期五

Maven报错Missing artifact jdk.tools:jdk.tools:jar:1.8

参考:http://blog.csdn.net/u013281331/article/details/40824707
在pom.xml中加上依赖:
    <dependency>
      <groupId>jdk.tools</groupId>
      <artifactId>jdk.tools</artifactId>
      <version>1.8</version>
      <scope>system</scope>
      <systemPath>C:/Program Files/Java/jdk1.8.0_65/lib/tools.jar</systemPath>
    </dependency>
解决。

创建maven工程的一个问题

在eclipse中创建maven工程出现这样错误:
creating maven-archetype-quickstart has encountered a problem
unable to create project from archetype ...

尝试在命令行创建也遇到错误,这次的错误信息更多一些:
Unable to add module to the current project as it is not of packaging type 'pom' -> [Help 1]

原因:
创建工程的目录中存在了pom.xml文件,所以无法创建。

windows中解决eclipse中maven install时Unsupported major.minor version 51.0问题

maven install时报错:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

对应版本如下:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

maven install时要求jre版本必须在7以上,我没有导入自己安装的jre的路径,eclipse自带的是1.6版本的。
解决:在Windows -> Preferences中Java选项下的Installed JREs设置为JDK1.7以上的版本即可。

2016年3月24日星期四

解决python中使用protobuf,import xxx_pb2出错的问题

我在import xxx_pb2时遇到这样的问题:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "VoiceSession_pb2.py", line 20, in <module>
    essionProtosP\x01'
TypeError: __init__() got an unexpected keyword argument 'syntax'

原因:protoc的版本和pip install protobuf的版本不统一。
运行protoc --version和pip list | grep protobuf分别查看两者的版本,保证版本统一错误即可解决。

Mac上item远程登录linux中文乱码问题

我使用的是zsh的终端,所以修改~/.zshrc,在最后加上:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

source ~/.zshrc,完成。

2016年3月21日星期一

ubuntu中配置不用每次都ssh-add输入passphrase

先安装expect:
apt-get install expect

我用的是root用户,/root/.ssh/xychen是你的key文件,chmod 600 /root/.ssh/xychen

vim /root/ssh-add.sh,内容如下:
#!/usr/bin/expect
spawn ssh-agent zsh
spawn ssh-add /root/.ssh/xychen
expect "Enter passphrase for /root/.ssh/xychen:"
send "your_passphrase\r"
interact

修改~/.bashrc文件,我使用的是zsh,所以修改~/.zshrc文件,在最后加上:
eval `ssh-agent`
/root/ssh-add.sh

putty中使用zsh无法显示绿色箭头

参考:http://blog.csdn.net/taoqick/article/details/40374425

需要更改putty字体,原来的字体设置无法显示箭头。

2016年3月13日星期日

tmux安装使用

MacOS中安装:
brew install tmux

Ubuntu中自带tmux

我的配置文件~/.tmux.conf:
set -g prefix C-a
unbind C-b
setw -g mode-keys vi
set -g automatic-rename off
set -g allow-rename off
set-option -g history-limit 65535
bind -n C-k clear-history
上面最后一行的配置是将clear-history命令绑定到ctrl+k快捷键,可以清除scrollback buffer。
配置文件参考:http://www.cnblogs.com/scue/p/3705309.html

配置完以后,重启tmux起效,或者先按C+b,然后输入:进入命令行模式, 在命令行模式下输入:
source-file ~/.tmux.conf

tmux中可以创建多个session,每个session可以创建多个窗口,每个窗口可以分割为多个窗格。
新建session:tmux new-session -s session_name
进入session:tmux a -t session_name
列出所有sessions:tmux list-sessions
关闭session:ctrl+d
删除所有session:tmux kill-server
删除指定session:tmux kill-session -t session_name
输出tmux剪贴板中的内容:tmux show-buffer

前缀键:我设置的是ctrl+a。快捷键:
系统操作:
? 显示帮助
d 脱离当前会话
[ 进入复制模式,按空格开始选中,回车结束选中,选中内容被复制
] 粘贴
: 进入命令模式

session操作:
$ 重命名session
s 以列表方式选择session
:new-session 新建session

窗口操作:
c 新建窗口
, 重命名窗口
w 以列表方式选择窗口
n 切换至下一个窗口
p 切换至上一个窗口
数字键 切换窗口
& 关闭窗口
l 切换到最后使用的窗口
} 与下一个窗格交换位
{ 与上一个窗格交换位置

窗格操作:
" 横向分割窗口
% 纵向分割窗口
q 选择窗格
; 切换至上一个窗格
o 切换至下一个窗格
z 全屏切换
方向键 切换窗格
alt+方向键 修改窗格大小
space 重新布局窗格
ctrl+a+o 交换窗格位置
x 关闭窗格

vim中y复制同步到tmux的缓冲区:
brew install reattach-to-user-namespace
同时添加配置如下:
# getting tmux to copy a buffer to system clipboard
set-option -g default-command "reattach-to-user-namespace -l zsh" # or bash...
bind y run "tmux save-buffer - | reattach-to-user-namespace pbcopy" \; display-message "Copied tmux buffer to system clipboard"
bind C-v run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
http://foocoder.com/2013/07/28/zhong-duan-huan-jing-zhi-tmux/


更多参考:
https://gist.github.com/ryerh/14b7c24dfd623ef8edc7
http://mingxinglai.com/cn/2012/09/tmux/

tmux会source ~/.profile两次,奇怪的问题。

2016年3月12日星期六

zsh安装

参考http://yijiebuyi.com/blog/b9b5e1ebb719f22475c38c4819ab8151.html

Linux中安装:
apt-get install zsh git wget
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
chsh -s /bin/zsh

MacOS中安装:
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
chsh -s /bin/zsh

2016年3月11日星期五

使用Homebrew在Mac中安装或卸载软件

在终端中输入以下命令安装Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

可以使用homebrew快捷地安装软件,比如:
brew install tmux
brew install zsh

brew uninstall tmux
brew uninstall zsh

2016年3月9日星期三

Mac中解决Latex中Support package 'expl3' too old.问题

l3kernel和l3packages版本过低,解决方法:
sudo tlmgr update l3kernel
sudo tlmgr update l3packages