copy maven dependencies to a folder
background
一个简单的需求,当你的同事需要调试代码的时候,他并不想建立maven环境,这时候依赖的jar包 该如何导出呢?
no code say nothing
这时候你需要的是maven-dependency-plugin。
添加依赖配置
1 | <plugins> |
此处的<outputDirectory>
指定了你导出jar包的路径.
一个简单的需求,当你的同事需要调试代码的时候,他并不想建立maven环境,这时候依赖的jar包 该如何导出呢?
这时候你需要的是maven-dependency-plugin。
1 | <plugins> |
此处的<outputDirectory>
指定了你导出jar包的路径.
mvn dependency:copy-dependencies
/alternateLocation
目录,并且依赖的jar包都下载到这个目录下了。c:/apps/nginx
1 | cd c:/apps/nginx |
1 | tasklist /fi "imagename eq nginx.exe" |
notice
一个是主进程(main process),另一个是工作进程(work process).如果启动失败,请查看错误日志logs\error.log
nginx.conf
reference config1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18error_log logs/error.log;
http {
include mime.types;
default_type application/octet-stream;
server {
listen 8080;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
...
}
1 | nginx -s stop 快速退出 |
gitlab
中的统计视图是根据用户的信息统计工作量 那么如何修改已经推送到远程的author信息呢?
github
官方提供的建议如何变更用户信息
同时也有类似的项托管在github
上,git-tips-blame-someone-else
思路基本一致,就是替换提交记录、分支、标签里的author信息。
git bash
)1 | git clone --bare https://github.com/user/repo.git |
1 | OLD_EMAIL |
脚本replace.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
sh replace.sh
git log
git push --force --tags origin 'refs/heads/*'
1 | cd .. |
远程有一个develop分支,我想获取到本地,但是clone该项目的时候这个远程分支还没有创建,于是执行 git checkout commit_id(develop)
提示如下
1 | $ git checkout f7c774b |
detached from ...
此时用git branch -av
察看分支1
2
3
4
5
6
7$ git branch -av
* (detached from f7c774b) f7c774b update jeffsui.github.io
master 6ce1857 Site updated: 2016-08-07 22:09:10
remotes/origin/HEAD -> origin/master
remotes/origin/develop f7c774b update jeffsui.github.io
remotes/origin/gh-pages 1eee93f Site updated: 2016-02-13 21:03:46
remotes/origin/master 6ce1857 Site updated: 2016-08-07 22:09:10
所谓的 detached HEAD
其实就是HEAD
指向的是一个commit
而不指向任何一个branch
的临时分支,翻译过来就是游离
.
众所周知,每一个分支都对应了一个commit,git checkout
其实就是修改HEAD
文件内容,让它指向不同的分支.
detached HEAD
所处分支指向远程分支此时的分支你可以执行commit
操作,但是无法push
到远程分支。
那么我们如何把游离状态的分支指向我们指定的远程分支呢。1
2
3$ git fetch origin develop:develop
From https://github.com/jeffsui/jeffsui.github.io
* [new branch] develop -> develop
继续执行git branch -av
命令查看分支
1 | $ git branch -av |
此时我们发现多了一个develop
分支指向了远程develop
分支,这样我们就可以通过命令git push origin develop:develop
到远程分支了。
git fetch origin develop:develop
or
git checkount -b origin develop:develop
这样可以直接获取远程分支并创建一个本地分支。
http://www.mongodb.org/downloads
本机路径为:d:\tools\mongodb
数据库路径:d:\tools\mongodb\db
日志路径:d:\tools\mongodb\log
配置文件目录d:\tools\mongodb\etc
建立配置文件d:\tools\mongodb\etc\mongodb.conf
1 | dbpath=d:\tools\mongodb\db #数据库路径 |
切换到d:\tools\mongodb\bin
目录下:
mongod --config d:\tools\mongodb\etc\mongodb.conf
mongod --config d:\tools\mongodb\etc\mongodb.conf --install
补充
mongod --remove --serviceName "MongoDB"
net start mongodb
启动成功后,通过浏览器访问 http://localhost:27017
,看到下面的文字,证明启动服务成功!
It looks like you are trying to access MongoDB over HTTP on the native driver port.
net stop mongodb
官方提供的很全:https://docs.mongodb.org/ecosystem/tools/administration-interfaces/
mongo express –Nodejs
MongoVUE –.NET
1 |
|
maven
命令行创建java项目1 | mvn archetype:generate -DgroupId=org.linfeng -DartifactId=mavendemo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false |
1 | $ cd mavendemo && ls |
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
mvn test
1 | [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project mavendemo: Compilation failure |
settings.xml
,添加jdk1.7相关内容1 | <profile> |
缺点:修改所有项目的jre环境
pom.xml
1 | <build> |
重新执行mvn build
成功!
Maven官方文档有如下描述:
编译器插件用来编译项目的源文件.从3.0版本开始, 用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java 1.6) . 如果你想强制性的让插件使用javac,你必须配置插件选项 forceJavacCompilerUse.
同时需要注意的是目前source选项和target 选项的默认设置都是1.5, 与运行Maven时的JDK版本无关.如果你想要改变这些默认设置, 可以参考 Setting the -source and -target of the Java Compiler中的描述来设置 source 和target 选项.
#参考资料
1 | # Default to human readable figures |
1 | # Default to human readable figures |
source ~/.bashrc
)软件包:
centos6.5_x86_64
docker-engine-1.7.0-1.el6.x86_64.rpm
docker环境搭建,请参照官方说明,本文采用的是官方的rpm包
官方的image镜像站位dockerhub,因为伟大的墙的缘故,所以下载镜像是很痛苦的一件事。当然你可以采用其他科学上网或者镜像加速的方法来获取image。
docker官方也提供了一个私服镜像,大家可以通过docker search registry
来查找该镜像。
1 | NAME DESCRIPTION STARS OFFICIAL AUTOMATED |
使用命令docker pull registry
执行下载镜像。
下载完毕后,通过docker images
查看该镜像。
执行这个命令
1 | docker tag registry:latest localhost:5000/registry:latest |
1 | docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/tmp/registry -p 5000:5000 registry |
这里有几个参数说明下:
-e STORAGE_PATH=/tmp/registry
:强制使用存储路径-v /opt/data/registry:/tmp/registry
:绑定本地镜像存储路径-p 5000:5000
:映射容器5000端口到本地5000端口docker ps
curl http://localhost:5000
显示如下信息,证明registry启动成功:
"\"docker-registry server\""
例如给官方的nginx镜像打tag,执行下面的命令行
docker pull nginx
docker tag nginx:latest localhost:5000/nginx:latest
查看镜像库,发现localhost:5000/nginx
的镜像已经有了。
docker push localhost:5000/nginx:latest
curl http://localhost:5000/V1/search
看到类似这样的信息
1 |
|
1 | docker pull 192.168.20.85:5000/library/centos:7 |
这只是演示如何搭建一个简单的registry私服。因为只有通过命令行方式才能查看私服信息,所以不是很便于操作。下面的博文将演示如何给registry添加web界面。
##环境准备
软件包:
centos6.5_x86_64
docker-engine-1.7.0-1.el6.x86_64.rpm
docker环境搭建,请参照官方说明,本文采用的是官方的rpm包
##何谓私服
官方的image镜像站位dockerhub,因为伟大的墙的缘故,所以下载镜像是很痛苦的一件事。当然你可以采用其他科学上网或者镜像加速的方法来获取image。
docker官方也提供了一个私服镜像,大家可以通过docker search registry
来查找该镜像。
1 | NAME DESCRIPTION STARS OFFICIAL AUTOMATED |
##下载官方registry镜像
使用命令docker pull registry
执行下载镜像。
下载完毕后,通过docker images
查看该镜像。
执行这个命令docker tag registry:latest localhost:5000/registry:latest
##启动镜像
docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/tmp/registry -p 5000:5000 registry
这里有几个参数说明下:
-e STORAGE_PATH=/tmp/registry
:强制使用存储路径-v /opt/data/registry:/tmp/registry
:绑定本地镜像存储路径-p 5000:5000
:映射容器5000端口到本地5000端口##查看镜像状态
docker ps
##查看私服状态
curl http://localhost:5000
显示如下信息,证明registry启动成功:
"\"docker-registry server\""
##推送本地镜像库到registry私服
###1. 第一步 给本地镜像 打tag
例如给官方的nginx镜像打tag,执行下面的命令行docker pull nginx
docker tag nginx:latest localhost:5000/nginx:latest
查看镜像库,发现localhost:5000/nginx
的镜像已经有了。
###2. 第二步 推送tag到registry私服
docker push localhost:5000/nginx:latest
###3. 第三步 查看私服镜像列表
curl http://localhost:5000/V1/search
看到类似这样的信息
1 |
|
##拉取私服镜像
docker pull 192.168.20.85:5000/library/centos:7
##结论
这只是演示如何搭建一个简单的registry私服。因为只有通过命令行方式才能查看私服信息,所以不是很便于操作。下面的博文将演示如何给registry添加web界面。