-
Notifications
You must be signed in to change notification settings - Fork 89
入门指南
repox暂时没有发布二进制包,只能从源码编译。
$ git clone https://github.com/Centaur/repox.git
$ cd repox/src/main/resources/admin
$ bower install
$ cd ../../../..
$ sbt assembly
上述中的bower
依赖于node.js和npm,因此需要先安装node.js。
sbt将会在target/scala-2.11/
目录下生成 repox-assembly-$VERSION.jar
$ java -Xmx512m -jar repox-assembly-$VERSION.jar
repox监听所有网络接口上的8078端口。
repox缓存的文件保存在 ~/.repox/storage
目录下,配置数据保存在 ~/.repox/journal
目录下,日志文件是 ~/.repox/repox.log
因此如果要备份数据,只需要备份 ~/.repox
目录即可。
以下假设repox部署在192.168.0.120这台服务器上。
repox使用akka-persistence
来保存配置信息(这当然不是必须的,repox用这个场景demo了akka-persistence
的用法)。
从浏览器连接 http://192.168.0.120:8078/admin/admin.html
通过web界面对repox进行配置。从这里开始
Repox web admin 默认密码为zhimakaimen
.
为了充分发挥repox的优势,在开发者本机上需要做两件事。
-
配置
~/.sbt/repositories
文件(如果文件还未创建过,则创建它),除了本地缓存外,仅使用repox作为仓库。文件内容如下:[repositories] local repox-maven: http://192.168.0.120:8078/ repox-ivy: http://192.168.0.120:8078/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
请注意,repox-maven 与 repox-ivy 的次序是重要的,请将 repox-maven 写在 repox-ivy 的前面。
-
配置sbt,使它仅使用
~/.sbt/repositories
中的内容。
-
如果你使用命令行,请在sbt命令行参数中添加
-Dsbt.override.build.repos=true
。例如我的sbt shell脚本的内容是这样的:#!/bin/sh export SBT_OPTS="-Dsbt.override.build.repos=true" exec java -Xmx512M ${SBT_OPTS} -jar $(dirname "$0")/sbt-launch.jar "$@"
-
如果使用jetbrains IDEA,修改
Preferences -> SBT -> JVM Options -> VM parameters
,保证它包含-Dsbt.override.build.repos=true
-
如果使用 activator,请打开
~/.activator/activatorconfig.txt
文件(如果此文件不存在,请创建它。很明显,配置文件满天飞也是 typesafe/sbt team的诸多恶趣味之一),在其中添加一行-Dsbt.override.build.repos=true
-
windows 用户可以 在
C:\Program Files (x86)\sbt\conf\sbtconfig.txt
加入-Dsbt.override.build.repos=true
Renkai注:个人试了下只做第一步不做第二步似乎也是蛮好用的