楓中暢游

          關(guān)注技術(shù),熱愛(ài)生活
          隨筆 - 15, 文章 - 0, 評(píng)論 - 3, 引用 - 0

          導(dǎo)航

          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          公告

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          友情鏈接

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          2013年7月3日

          linux系統(tǒng)之上搭建maven 之nexus服務(wù)篇

                 今天剛好有點(diǎn)時(shí)間,就想在公司的服務(wù)器搭建一個(gè)私服,以便以后可以唯我所用,當(dāng)然前提是服務(wù)器最好可以上網(wǎng),否則還需要配置代理服務(wù)器,前兩天剛好把服務(wù)器的網(wǎng)絡(luò)給配置了下,這邊就不詳述了!大家一定著急了吧,稍安務(wù)燥,這就進(jìn)入正題,O(∩_∩)O~

                  linux安裝過(guò)程和window主機(jī)還是差別挺大的。

          1.下載nexus集成版

          到這個(gè)地方http://www.sonatype.org/nexus/go 下載壓縮包,我這邊下載的是nexus-2.0.3-bundle.tar.gz這個(gè)版本。

          2. 解壓到相應(yīng)的目錄

          tar  -xzvf  nexus-2.0.3-bundle.tar.gz , 我這邊放在/home/linjx/opendev/nexus-2.0.3目錄下。

           

          3. 設(shè)置為系統(tǒng)服務(wù)

          這里需要使用root權(quán)限,具體請(qǐng)看http://books.sonatype.com/nexus-book/reference/install-sect-service.html

          簡(jiǎn)單如下:

          # cd  /etc/init.d

          # cp  /home/linjx/opendev/nexus-2.0.3/bin/jsw/linux-x86-64/nexus ./nexus

          # chmod 755 nexus

          # chkconfig --add nexus

          # chkconfig --levels 345 nexus on

           

          4. 編輯/etc/init.d/nexus的文本

          4.1. 添加以下變量

          RUN_AS_USER=linjx    ## 這個(gè)主要為了后面使用,不需要使用root用戶啟動(dòng)服務(wù)

          NEXUS_HOME=/home/linjx/opendev/nexus-2.0.3/

          PLATFORM=linux-x86-64

          PLATFORM_DIR="${NEXUS_HOME}/bin/jsw/${PLATFORM}"

          4.2. 修改以下變量

          WRAPPER_CMD="${PLATFORM_DIR}/wrapper"

          WRAPPER_CONF="${PLATFORM_DIR}/../conf/wrapper.conf"

           

           

          PIDDIR="${NEXUS_HOME}"

           

          5. 啟動(dòng)服務(wù)

          切換會(huì)自己的用戶,不需要使用root用戶;

          # service nexus start

           

          這個(gè)大家出現(xiàn)什么情況,是不是失敗了!界面上出現(xiàn) :Could not write pid file /etc/rc.d/init.d/./nexus.pid: Permission denied通過(guò)查看日志文件:

          fzdev#[/home/linjx/opendev/nexus-2.0.3/logs] cat w*  

          wrapper  | ERROR: Could not write pid file /etc/rc.d/init.d/./nexus.pid: Permission denied

           

          怎么辦呢,根據(jù)信息提示,nexus.pid無(wú)法寫入,應(yīng)該還是權(quán)限問(wèn)題,這個(gè)應(yīng)該跟啟動(dòng)當(dāng)前服務(wù)有關(guān)。

           

          查文檔http://books.sonatype.com/nexus-book/reference/install-sect-service.html后發(fā)現(xiàn),一有段信息沒(méi)有配置,

          Change PIDDIR to a directory where this user has read/write permissions. In most Linux distributions, /var/run is only writable by root. The properties you need to add to customize the PID file location is "wrapper.pid". For more information about this property and how it would be configured in wrapper.conf, see: http://wrapper.tanukisoftware.com/doc/english/properties.html

           

          大概意思就是服務(wù)啟動(dòng)時(shí)無(wú)法寫入pid,就是說(shuō)init.d這個(gè)目錄當(dāng)前用戶是沒(méi)有權(quán)限寫的,怎么辦呢。可以自定義pid寫入目錄,那么在哪里配置呢,是不是又想起了wrapper.conf了,其他文檔中也說(shuō)明了。

          好吧,那就再加個(gè)配置吧,這樣:PIDDIR="/home/linjx/piddir"

           

          然后再啟動(dòng)服務(wù),果然成功了!具體可以看看附件中的詳細(xì)的日志!



           

          6. 啟動(dòng)之后,可以登錄首頁(yè)查看nexus的界面

          http://192.168.1.26:8081/nexus/index.html

           

          默認(rèn)管理員用戶名/密碼: admin/admin123

           



           

          posted @ 2013-08-21 09:32 javalinjx 閱讀(14961) | 評(píng)論 (2)編輯 收藏

          使用leiningen搭建clojure開(kāi)發(fā)環(huán)境

          首先來(lái)講下Leiningen是什么東東?

          Leiningen是一個(gè)用于自動(dòng)化(構(gòu)建)clojure項(xiàng)目的工具。

          它可以做到:

              創(chuàng)建新項(xiàng)目

              管理你的項(xiàng)目的依賴關(guān)系

              運(yùn)行測(cè)試

              運(yùn)行一個(gè)REPL(讀取-求值-打印循環(huán):read-eval-print loop)

              編譯java源碼

              運(yùn)行項(xiàng)目

              為項(xiàng)目產(chǎn)生一個(gè)Maven風(fēng)格的POM文件

              為了部署,編譯和打包項(xiàng)目

              發(fā)布類庫(kù)到Maven倉(cāng)庫(kù),例如Clojars

              運(yùn)行Clojure編寫的自定義的自動(dòng)化任務(wù)(稱為L(zhǎng)einingen插件)

              ... 具體可以查看國(guó)內(nèi)的大牛(killme2008)翻譯的Leiningen教程中文版的詳細(xì)介紹。

          好些話說(shuō)多了點(diǎn),大家別著急啊,馬上就切入主題:

          1. 下載安裝Leiningen

             linux: 

                  1. 確保你是jdk 6 版本以下的。

                  2. 下載腳本lein

                  3. 把lein加入下當(dāng)前的$path下(~/bin 是最好的選擇)

                  4. 賦可執(zhí)行權(quán)限(chmod 755 ~/bin/lein)

            windows:

                  1. 可以直接下載打包好的文件,地址是:Leiningen for windows

                  2. 點(diǎn)擊下載好的*.exe文件進(jìn)行安裝

                  3. 安裝好后,可以查看環(huán)境變量中會(huì)有相應(yīng)的變量被設(shè)置好了:

                   lein.bat is added to your PATH variable.

                  LEIN_JAVA_CMD is set to point to your selected JDK, and the :java-cmd property is set in your              user profile in profiles.clj.

                  

                  接下來(lái),打開(kāi)命令窗口,輸入命令:lein self-install  ,會(huì)自動(dòng)下載安裝leiningen 相關(guān)的jar文件。

                 

                 驗(yàn)證下安裝成果: 在命令窗口中輸入lein repl ,會(huì)自動(dòng)連上nREPL server,進(jìn)入repl模式,如下所示:

           

                

          Shell代碼  收藏代碼
          1. C:\Users\linjx>lein repl  
          2. nREPL server started on port 21912  
          3. REPL-y 0.2.0  
          4. Clojure 1.5.1  
          5.     Docs: (doc function-name-here)  
          6.           (find-doc "part-of-name-here")  
          7.   Source: (source function-name-here)  
          8.  Javadoc: (javadoc java-object-or-class-here)  
          9.     Exit: Control+D or (exit) or (quit)  
          10.   
          11. user=>  

           

              如果出現(xiàn)上面的提示,則說(shuō)明leiningen安裝成功,你可以在使用leiningen開(kāi)發(fā)你的clojure之旅了。

              但是往往我們不滿足于現(xiàn)狀,希望可以更有效的使用lein編寫clojure。類似java的idea,eclipse一樣,都對(duì)編寫java提供了強(qiáng)大的工具,那么我們可以選擇什么樣的工具呢,毫無(wú)疑問(wèn),Emacs是最合適的工具,沒(méi)有之一:)

               對(duì)于我這斷斷續(xù)續(xù)學(xué)習(xí)emacs的來(lái)說(shuō),還真不是不容易,昨晚查看了相關(guān)的e文說(shuō)明,在emacs中成功裝配了nrepl ,用以后續(xù)的開(kāi)發(fā)學(xué)習(xí),便記錄一下,希望對(duì)自己以后查閱,以及需要的人有所幫助。

               首先,我本地有emacs 24 版本的, 這里不想講emacs 的安裝,這個(gè)大家自個(gè)兒查詢下google便可以了。

               在安裝好leiningen之后,現(xiàn)在進(jìn)入nrepl的主頁(yè)看看,這是個(gè)什么東東!

               nrepl.el is an Emacs client for nREPL,the Clojre networked REPL server.It's a great alternative to the now deprecated combination fo SLIME + swank-clojure.

              nrepl.el是emacs作為nrepl的一個(gè)客戶端,nrepl是一個(gè)反對(duì)目前slime+swank-clojure組合的最好的替代品。

               下面來(lái)看下如何安裝nrepl.el:

                1. emacs 24 以及更高版本是構(gòu)建在package.el之上的,但是emacs 23以下版本的,你需要自己獲取package.el .

                雖然我的是24版本的,但是我也下載了package.el,并存放在     C:\Users\linjx\AppData\Roaming\.emacs.d 目前下,這個(gè)是我的emacs在windows下的配置目錄。

                2. 這里需要提一個(gè)文件,即 .emacs 文件,這個(gè)是emacs初始化配置的文件,位于C:\Users\linjx\AppData\Roaming 目錄下。

                   如果你不需要使用Marmalade,則添加配置 到 .emacs文件中,如下所示:

           

          Lisp代碼  收藏代碼
          1. (require 'package)  
          2. (add-to-list 'package-archives  
          3.              '("marmalade" . "http://marmalade-repo.org/packages/"))  
          4. (package-initialize)  

           

           由于使用MELPA the code ,需要添加配置到 .emacs文件中,

               

          Lisp代碼  收藏代碼
          1. (require 'package)  
          2. (add-to-list 'package-archives  
          3.              '("melpa" . "http://melpa.milkbox.net/packages/") t)  
          4. (package-initialize)  

           

            在emacs中打開(kāi).emacs文件,并M-x eval-buffer,執(zhí)行當(dāng)前的配置。

              

               3.  刷新配置

          Lisp代碼  收藏代碼
          1. M-x package-refresh-contents  回車  

               emacs會(huì)自動(dòng)下載安裝Marmalade , melpa相關(guān)的配置;

           

               4. 安裝nrepl

                   輸入命令 

          命令代碼  收藏代碼
          1. M-x package-install 回車  
          2.        nrepl 回車  

           

               致此,nrepl集成到emacs的安裝完畢,可以使用emacs開(kāi)發(fā)你的hello world!了。

          ( 當(dāng)然,emacs還可以與其他集成用來(lái)clojure的開(kāi)發(fā),這里我就不詳述了,畢竟沒(méi)有使用!)

           

          現(xiàn)在我們使用lein new 一個(gè)clojure項(xiàng)目出來(lái):

          1. $  lein new hello

           

          2. 打開(kāi)emacs,在buffer中打開(kāi) hello所在的目錄下的project.clj文件

           

          3. 輸入命令:M-x nrepl-jack-in,即可初始化一個(gè)nrepl server  和 nrepl client

          如下圖所示:



           

           

          posted @ 2013-07-03 13:40 javalinjx 閱讀(8290) | 評(píng)論 (0)編輯 收藏

          git命令記錄

          從服務(wù)器創(chuàng)建一個(gè)本地倉(cāng)庫(kù)的clone版本:

          git clone /path/to/repository

          如果是遠(yuǎn)端服務(wù)器上的倉(cāng)庫(kù),你的命令是這樣:

          git clone username@host:/path/to/repository

          多種方式的URI

           

          git add <filename>

          git add *

          git commit -m "代碼提交信息"

           

          將本地倉(cāng)庫(kù)的head中的東西提交到遠(yuǎn)程服務(wù)器上:

          git push origin master(分支名)

          欲將本地的倉(cāng)庫(kù)連接到某個(gè)遠(yuǎn)程服務(wù)器

          git remote add origin <server>

           

          持續(xù)補(bǔ)充,作為自己查詢使用

          posted @ 2013-07-03 12:18 javalinjx 閱讀(271) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 遵义市| 绿春县| 漾濞| 平原县| 巴彦淖尔市| 茌平县| 科技| 墨江| 武夷山市| 栾城县| 大同市| 乌海市| 阳泉市| 桃园县| 金塔县| 临泽县| 宁陵县| 枣庄市| 广宗县| 大竹县| 厦门市| 台东县| 珠海市| 义乌市| 金昌市| 德州市| 高雄市| 古蔺县| 高清| 宁国市| 丹巴县| 外汇| 新沂市| 宁都县| 三亚市| 九龙县| 峨眉山市| 林芝县| 威信县| 黑水县| 民权县|