A. github怎麼創建文件夾
直接在網頁版創建一個新項目,然後在項目裡面創建文件就可以的。
下周github for windows客戶端,然後登陸,選擇一個目錄和github網頁版的同步,在這個文件夾下直接建立文件,就相當於在github根目錄下建立文件夾。
確認本地安裝git服務,然後找一個目錄,當作github和本地電腦的同步目錄,然後可以選擇sourcetree等git管理工具或者,git命令行,git clone https://****,網址為github右邊欄顯示的那個網址,將github的倉庫克隆下來,在這個你本地這個文件夾下的操作,使用git add , git commit 命令就相當於將本地和github同步,則可以在github根目錄下創建一個文件。
B. 求助!新建倉庫哪些物品是必備的
最基本就是:錢,庫房,人。其他小類包括: 設備類:貨架小車叉車地牛托盤容器電腦路由網線等列印機傳真復印一體 基建類:地面處理倉庫照明消防設施 安全類:保護護欄勞保物資 辦公用品類:參考日常辦公用品清單,如各種筆,文件夾,文件架,辦公桌椅,電話等等 其他:管理看板清潔工具標識標語東西還有很多沒列進來,列進的部分也不是所有倉庫一下子都必備的,但大多有這些或部分有。我經歷過幾個新建倉庫的起步,可以多交流。
C. 如何創建私有 CocoaPods 倉庫
一、概述
CocoaPods是iOS,Mac下優秀的第三方包管理工具,類似於java的maven,給我們項目管理帶來了極大的方便。個人或公司在開發過程中,會積累很多可以復用的代碼包,有些我們不想開源,又想像開源庫一樣在CocoaPods中管理它們,那麼通過私有倉庫來管理就很必要。對於CocoaPods還不太熟悉的,建議參考一下唐巧的博客或者直接到CocoaPods的官網看看:https://cocoapods.org/
二、概念
大家很容易把spec repository 和 code repository弄混,我一開始就在這里掛起了好久。
1.code repository是代碼倉庫,我們把包代碼上傳到這個倉庫。
2.spec repository是配置倉庫,所有的配置按照包名、版本號分門別類的存放在這個倉庫。這個倉庫只用來存放spec文件,不存放代碼。
小結:以AFNetWorking為例,如果只創建AFNetWorking的code repository,而不將code repository中的.Podspec文件上傳到spec repository的話,你在自己的工程引入AFN的時候壓根用不了。
三、步驟
創建私有的CocoaPods倉庫之前需要先製作CocoaPods依賴庫,所以步驟分兩步:
1.製作CocoaPods依賴庫,也就是代碼庫。
2.創建私有 CocoaPods 倉庫。
小結:1.製作依賴庫也就是在自己的伺服器或者github等遠端第三方伺服器創建一個倉庫,用來保存.podspec、LICENSE、README.md以及代碼文件和一些資源文件。
2.創建私有 CocoaPods 倉庫也就是在自己的伺服器或者github等遠端第三方伺服器創建一個倉庫,用來接受並存放.podspec文件,來管理自己的私庫。
四、製作 CocoaPods 依賴庫
當我們使用了類似於AFNetWorking這樣的Pods 依賴庫以後, 你一定對創建自己的依賴庫很有興趣吧,現在我們就來嘗試一下,以一個簡單 caculatorMaker 為例自己創建一個 Pods 依賴庫。
1.創建並設置一個私有的code Repository。
因為GitHub的私有倉庫是收費的,我還不是GitHub的付費用戶,所以我使用了其他Git服務,我使用的是gitlab(我們公司是基於內網的,當然你也可以基於外網),當然還有其他的可供選擇開源中國、CODING、Bitbucket以及CSDN Code.
2.clone 倉庫到本地
為了方便向倉庫中刪減內容,需要將倉庫 clone 到本地,這里有多種操作方式,可以選擇你喜歡的一種,但是為了方便這邊選擇使用命令行。首先需要切換到你想在本地存儲的目錄,然後再 clone ,假設你放在用戶的根目錄上:
cd ~
git clone http://njGitrepo/xxx/caculatemaker.git
完成後,我們進入到 ~/caculatemaker 目錄,這時候你看到是一個空文件夾,這由於我用的是gitlab創建的,沒有像github網頁那樣在創建code Repository的時候可以勾選創建LICENSE和README.md文件。其實也不是什麼都沒有,實際上是有一個隱藏的 .git 文件,後續我們的所有文件都在這個目錄下進行。
注意:打開隱藏目錄,可以使用命令,接著需要重啟一下 Finder, 可以按住 option + 右鍵 Finder 圖標選擇重啟。
//打開隱藏的命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
//關閉隱藏的命令:
defaults write com.apple.finder AppleShowAllFiles -bool false
3.向本地倉庫中添加創建 Pods 依賴庫所需的文件
這個代碼庫需要手動在外面創建好.podspec、LICENSE、README.md以及代碼文件和一些資源文件並拖動到,當然你在其他的git服務上需要創建的基本都是這幾種文件。
至此,我們已經在本地得到我們自己的私有倉庫 wshSpecs ,這是一個空的倉庫。
注意:這里我需要介紹一下上面的master文件夾裡面到底是什麼東西:
a. 進入到這個目錄
在Finger前往文件夾中輸入 ~/.cocoapods, 顯示的內容就是上圖的界面。
b.點開master文件夾下面的spec目錄,其下存放的就是所有提交到 CocoaPods 的開源庫的 podspec 文件的集 合。
其結構如下圖所示:
其組成方式:
specName -- version -- specName.podspec
( master 里現在是 specName.podspec.json,這個 .json 文件就是 podspec 文件加了個後綴。我們可以採用 pod ipc spec 這個命令來將 spec 文件轉換成 .json)
那這個文件夾是如何來得呢?其實,這個文件夾是在你安裝了 CocoaPods 後,第一次執行 pod install 時, CocoaPods 通過命令 pod setup 來建立的(這條命令會自動執行)。
2.添加 剛才第四步創建的 caculatormaker.podspec 到你的 Spec Repository。
在前面驗證通過的基礎上,我們接著執行命令:
pod repo push wshSpecs caculatormaker.podspec
按照平時使用 CocoaPods 的習慣,我們添加依賴庫之前會先搜索一下庫,讓我們執行一下命令:
pod search caculatormaker
3.在個人項目中的Podfile中增加剛剛製作的好的Pod並使用。
讓我們建立一個普通的工程,命名為 TestPodDemo,然後在終端 cd 到其目錄路徑下,添加一個 Podfile 文件:
pod init
建立後修改 Podfile 文件內容如下:
source 'https://github.com/CocoaPods/Specs.git' #官方倉庫地址
source 『http://njGitrepo/wushuanghong/wshSpecs.git』 #私有倉庫地址
use_frameworks!
target 'TestPodDemo' do
pod 『caculatemaker』
end
執行:
pod install
這樣一來我們就可以使用這個私有庫了!
4.更新維護podspec。
當我們的代碼變動時,首先需要更新code Repository中的.podspec 文件的版本,然後push到 Spec Repository。
本回答由提問者推薦
D. 怎麼在github中創建一個文件夾
本地創建好文件夾,文件夾下建*.md文件
可以git add 文件夾名字
git commit -m "說明文字"
git push
就創建好了文件夾。
E. 新建文件夾時,文件夾與文本文檔的區別
哈哈
新建的文件夾就是一個空目錄
所有文本文檔是放在某一個目錄下的
打個比方:文件夾是新建的倉庫
文本文檔就是儲藏在裡面的貨物
F. 怎樣創建SVN倉庫目錄結構
首先在伺服器端創建一個SVN庫,這時是只有一個頂級文件夾的空倉庫,然後:
1、從客戶端checkout這個空的SVN庫;
2、在客戶端checkout出來的這個空文件夾中,按自己的需要新建各級子文件夾,以形成所需的目錄結構;
3、對checkout出來的這個文件夾執行add操作,將新建的各級子文件夾納入SVN控制;
4、對checkout出來的這個文件夾執行commit操作,將剛add進來的各文件夾提交到SVN伺服器端。
基本操作就如上所述了,順便說一下SVN官方推薦的文件夾結構:
根目錄下分成trunk、branches、tags三個子文件夾,其中trunk用於存放開發主幹,branches用於存放各種分支,tags用於存放各種標記。
G. 如何構建archlinux軟體倉庫
第一步,先寫C程序。目錄結構如下。
├── SayHello-0.1
│ ├── include
│ │ └── hello.h
│ ├── Makefile
│ ├── SayHello
│ └── src
│ └── hello.c
├── SayHello-0.1.md5
└── SayHello-0.1.tar.gz
SayHello-0.1是項目文件夾,SayHello-.0.1.tar.gz是項目文件夾打包得到的壓縮文件。SayHello-0.1.md5是用md5sum SayHello-0.1.tar.gz > SayHello-0.1.md5得到的校驗文件(不是非要這個文件,但在製作ArchLinux文件包時,它一直提醒沒有校驗,沒辦法了,只好做了一個)。
代碼如下:
################################
hello.h
#include <stdio.h>
#include <errno.h>
#define ERR_EXIT(m)\
do\
{\
perror(m);\
exit(-1);\
}while(0)
#####################################
hello.c
#include "hello.h"
int main(int argc ,char* argv[])
{
printf("Hello\n");
printf("This is a test program\n");
return 0;
}
#####################################
Makefile
CC = gcc
CFLAGS = -Wall -g
obj = hello.o
VPATH = include:src
#vpath %.c src
#vpath %.h include
SayHello:hello.o
$(CC) $(CFLAGS) -o $@ $<
hello.o:hello.c hello.h
$(CC) -c -Iinclude -o $@ $<
##SayHello:hello.c
##$(CC) $(FLAGS) -Iinclude $< -o $@
.PHONY:clean install uninstall
clean:
-rm hello.o SayHello
install:
cp SayHello ~/bin/
##sudo cp SayHello /usr/local/bin/
uninstall:
-rm ~/bin/SayHello
#######################################3
好了,程序部分已經完成了。然後再打包,建立校驗文件。
tar zcvf SayHello-0.1.tar.gz SayHello-0.1
md5sum SayHello-0.1.tar.gz > SayHello-0.1.md5
把它們上傳到虛擬機的伺服器上去。
scp SayHello-0.1.* [email protected]:/var/myftp/pub/
(這一步可以省略,只要把下面的PBKBUILD文件修改一下就可以了。)
第二步,把程序打包成ArchLinux的安裝包。
abs的安裝配置省略,wiki上已經說得非常清楚了。
在家目錄上建立打包目錄。
mkdir -pv ~/abs/SayHello
cd ~/abs/SayHello
vi PKGBUILD
這里只有一個文件。代碼如下。
#########
PKGBUILD
pkgname=SayHello
pkgver=0.1
pkgrel=20130324
pkgdesc="A Say Hello test program."
arch=('i686' 'x86_64')
url="ftp://xxx.xxx.xxx.xxx"
license=('GPL2')
#depends=()
source=("ftp://xxx.xxx.xxx.xxx/mypub/$pkgname-$pkgver.tar.gz")
md5sums=('這里就是md5文件中的內容,被我隱藏了')
##install=SayHello.install
build()
{
cd $startdir/src/$pkgname-$pkgver
make clean
make
make install
}
好了,現在打包。很簡單,直接執行makepkg.現在得到文件
SayHello-0.1-20130324-x86_64.pkg.tar.xz,這個就是需要的archlinux安裝包。
現在差不多是最後一步了,先建立倉庫位置。
mkdir -pv ~/LocalRepo/Arch
cp SayHello-0.1-20130324-x86_64.pkg.tar.xz ~/LocalRepo/Arch/
cd ~/LocalRepo/Arch/
給倉庫添加資料庫。
repo-add ~/LocalRepo/Arch/LocalRepo.db.tar.gz SayHello-0.1-20130324-x86_64.pkg.tar.xz
最終的文件如下。
├── LocalRepo.db -> LocalRepo.db.tar.gz
├── LocalRepo.db.tar.gz
└── SayHello-0.1-20130324-x86_64.pkg.tar.xz
最後一步,在pacman.conf中加入本地庫。
[LocalRepo]
Server = file:///××××××/LocalRepo/Arch/
好了,所有的流程都完畢了。可以開始測試了。
pacman -Sy
LocalRepo 428.0 B 569K/s 00:00 [######################] 100%
本地庫已經載入
pacman -Sv SayHello
沒有問題。
pacman -Rs SayHello
也沒問題。
差不多就是這樣了,當然,這只是最簡單的應用。升級包什麼的都沒有做。純粹是為了跑一遍流程。
H. 如何使用git創建遠程倉庫
當然使用git之前先要下載git客戶端鏈接在這里:http://git-scm.com/download/
這里不用github for windows是因為我覺得比較偏門,不是太普適,我要是在Linux下就沒辦法了。
先描述github和git:
1.git是版本一個控制系統,blabla介紹什麼的最不喜歡了.....
就是說,我們使用git管理我們的代碼,那麼我們就需要把代碼加入到git倉庫中保存,git有一個本地倉庫的概念,就是可以在本地記錄變更,以便適應不能聯網的環境。
2.遠程倉庫是遠程主機上類似於現在的網盤一樣的東西,但是具有git的功能,可以在主機上保存我們的代碼庫。這里說的github就是遠程倉庫。
首先,我們使用遠程倉庫需要現在github注冊賬號,怎麼注冊不用多說了。
然後我們需要在本地建立本地倉庫,就是在你需要建立倉庫的目錄下執行這樣的命令:
git init
示例:
在用戶目錄下新建了一個learngit文件夾,在此文件夾下使用上述命令:
打開git bash
需要密碼驗證的時候輸入密鑰密碼就好。(當然有不用輸入的方法)
此時在github上查看倉庫就已經上傳完成了:
I. github怎麼上傳文件夾到庫
一、使用git上傳文件到GitHub需要git客戶端以及注冊GitHub賬號。命令簡單上傳通道
git官網:去git官網
github官網:去github官網
git的安裝以及GitHub的注冊這里就不說了。還不知道的,沒安裝的看這里:我要去看git安裝教程
下邊就直接從上傳開始。
第一步:我們需要先創建一個本地的版本庫(其實也就是一個文件夾)。
你可以直接在桌面右擊新建文件夾,也可以右擊打開Git bash命令行窗口通過命令來創建。
現在我通過命令行在桌面新建一個test文件夾(你也可以在其他任何地方創建這個文件夾),並且進入這個文件夾
第二步:在命令行中輸入git init把這個文件夾變成Git可管理的倉庫
這時你會發現test裡面多了個.git文件夾,它是Git用來跟蹤和管理版本庫的,因為它默認是隱藏文件,要是看不到就設置下文件夾和搜索選項。
之後把需要上傳到GitHub的文件全部復制到這test這個目錄下。然後通過git add .(注意這個".",是有空格的,"."代表這個test這個文件夾下的目錄全部都提交。你也可以通過git add 文件名 提交指定的文件)把文件添加到緩存區
或者指定具體文件提交
然後可以通過git status命令,查看下現在的狀態,也可以不看,隨你看到有css,js文件夾的內容都提交上去了。
然後,在使用命令git commit -m "這裡面寫你的注釋" 把文件提交的本地倉庫第三步:下面就到了連接遠程倉庫(也就是連接Github)
由於本地Git倉庫和Github倉庫之間的傳輸是通過SSH加密的,所以連接時需要設置一下:
創建SSH KEY。先看一下你C盤用戶目錄下有沒有.ssh目錄,有的話看下裡面有沒有id_rsa和id_rsa.pub這兩個文件,有就跳到下一步,沒有就通過下面命令創建
$ ssh-keygen -t rsa -C "[email protected]"
然後一路回車。這時你就會在用戶下的.ssh目錄里找到id_rsa和id_rsa.pub這兩個文件
第四步:登錄Github,找到右上角的圖標,打開點進裡面的Settings,再選中裡面的SSH and GPG KEYS,點擊右上角的New SSH key,然後Title裡面隨便填,再把剛才id_rsa.pub裡面的內容復制到Title下面的Key內容框裡面,最後點擊Add SSH key,這樣就完成了SSH Key的加密。具體步驟也可看下面:
上面key默認在C:\Users\Administrator\.ssh下的id_rsa.pub文件中,把這個文件中的內容全部復制到上面的key裡面就可以了。如下圖:
第五步:在Github上創建一個Git倉庫。
你可以直接點New repository來創建,比如我創建了一個tes2t的倉庫。
上面我沒有默認勾選Initialize this repository with a README,勾選和不勾選創建的結果區別如下:
下邊這個是勾選的
第六步:在Github上創建好Git倉庫之後我們就可以和本地倉庫進行關聯了,根據創建好的Git倉庫頁面的提示,可以在本地test倉庫的命令行輸入:
$ git remote add origin [email protected]:smfx1314/test2.git第七步:關聯好之後我們就可以把本地庫的所有內容推送到遠程倉庫(也就是Github)上了,通過:
$ git push -u origin master
由於新建的遠程倉庫是空的,所以要加上-u這個參數。然後進去GitHub test2這個倉庫刷新下就會有已經上傳的文件夾了。如果新建遠程倉庫不是空的,例如你勾選了 Initialize this repository with a README。那麼你通過命令 $ git push -u origin master是會報錯的,如下: 這是由於你新創建的那個倉庫裡面的README文件不在本地倉庫目錄中,這時我們可以通過以下命令先將內容合並以下:
$ git pull --rebase origin master
再輸入$ git push origin master。
等遠程倉庫裡面有了內容之後,下次再從本地庫上傳內容的時候只需下面這樣就可以了:
$ git push origin master。
至此就完成了將本地項目上傳到Github的整個過程。
J. 如何通過 nexus 建立自己本地倉庫
安裝Nexus
我們從http://nexus.sonatype.org/downloads/ 來獲取最新版本,目前最新版本為1.3.4
Nexus提供了兩種安裝方式,一種是內嵌Jetty的bundle,只要你有JRE就能直接運行。第二種方式是WAR,你只須簡單的將其發布到web容器中即可使用。
1)Bundle方式安裝
解壓nexus-webapp-1.3.4-bundle.zip 至任意目錄,如D:\tools ,轉到目錄D:\tools\nexus-webapp-1.3.4\bin\jsw\windows-x86-32 ,運行Nexus.bat ,如果你是在linux下安裝,那麼就下載nexus-webapp-1.3.4-bundle.tar.gz,解壓後轉到${NEXUS_HOME}/ nexus-webapp-1.3.3\bin\jsw\linux-x86-32,它還支持solaris,macos等操作系統。當你看到「Started [email protected]:8081」之後,說明Nexus啟動成功了,然後打開瀏覽器,訪問http://127.0.0.1:8081/nexus,通過admin的帳號(admin)和密碼(admin123)登錄你會看到如下的頁面:
如果有新版本發布,會有提示在默認頁面上。
這里,可以管理倉庫,配置Nexus系統,管理任務,管理用戶,角色,許可權,查看系統的RSS源,管理及查看系統日誌,等等。
War方式安裝
你可以同過war的方式以web應用的形式發布到你的應用伺服器,比如tomcat。你所要做的就是下載war版本的文件,然後放到應用伺服器的發布目錄即可,這里就不多講了。
到此我們已經安裝好Nexus,下面我來介紹下一些我們常用的功能和使用:
配置中央倉庫
先看一下界面:
在左邊菜單欄里選擇Repositories,然後會出現右邊的畫面,右邊上半部分是列出來的repository,黑體字是類型為group的repository. 這里簡單介紹下幾種repository的類型:
hosted,本地倉庫,通常我們會部署自己的構件到這一類型的倉庫。比如公司的第二方庫。
proxy,代理倉庫,它們被用來代理遠程的公共倉庫,如maven中央倉庫。
group,倉庫組,用來合並多個hosted/proxy倉庫,當你的項目希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。
Maven central是Maven的中央倉庫,點擊它並選擇configuration標簽欄,我們會看到下面的頁面:
這里有幾個項目是我們可能會經常用到的:
Override local storage location: 在這個選項你可以配置你的Nexus本地倉庫的存放地址,用來覆蓋其默認的存放地址
Remote storage location: 這里是遠程倉庫的地址,為了提高代理速度,你可以修改為國內的鏡像地址。默認值是http://repo1.maven.org/maven2/
Download remote indexes: 這里配置是否下載遠程索引文件,模式是false, 建議配置為true,這樣我們便可以通過索引文件來搜索我們需要的構件。
添加代理倉庫
Maven central是一個比較大的代理倉庫,如果你需要添加的一個代理倉庫,那麼可以在點擊左邊慘淡欄裡面的Repositories,然後右邊的頁面點擊add -> add proxy repository, 之後出現以下頁面:
填寫相關信息保存即可。通常情況下,使用預設的代理倉庫已經能夠滿足大部分項目的需求了, 只有在特殊需求的情況下才會參加代理倉庫.
管理本地倉庫
我們前面講到類型為hosted的為本地倉庫,Nexus預定義了3個本地倉庫,分別是Releases, Snapshots, 3rd Party. 分別講一下這三個預置的倉庫都是做什麼用的:
Releases: 這里存放我們自己項目中發布的構建, 通常是Release版本的, 比如我們自己做了一個FTP Server的項目, 生成的構件為ftpserver.war, 我們就可以把這個構建發布到Nexus的Releases本地倉庫. 關於符合發布後面會有介紹.
Snapshots: 這個倉庫非常的有用, 它的目的是讓我們可以發布那些非release版本, 非穩定版本, 比如我們在trunk下開發一個項目,在正式release之前你可能需要臨時發布一個版本給你的同伴使用, 因為你的同伴正在依賴你的模塊開發, 那麼這個時候我們就可以發布Snapshot版本到這個倉庫, 你的同伴就可以通過簡單的命令來獲取和使用這個臨時版本.
3rd Party: 顧名思義, 第三方庫, 你可能會問不是有中央倉庫來管理第三方庫嘛, 沒錯, 這里的是指可以讓你添加自己的第三方庫, 比如有些構件在中央倉庫是不存在的. 比如你在中央倉庫找不到Oracle 的JDBC驅動, 這個時候我們就需要自己添加到3rd party倉庫.
你也可以創建自己的本地倉庫,點擊Repository面板上方的Add按鈕,然後選擇Hosted Repository,然後在下方的配置面板中輸入相關信息, 這里我們不再需要填寫遠程倉庫地址,根據自己的需要選擇Release或者Snapshot,如圖:
Maven倉庫組
倉庫組的概念是Maven沒有的,通過前面介紹可以了解到, 我們可以建立多個proxy代理倉庫,hosted本地倉庫, 如果沒有倉庫組的概念,我們如果需要引用這些倉庫的是時候需要一一加入到我們的setting.xml裡面去, 有了倉庫的組的概念, 我們只需要做一次引用就可以了,把我們需要的倉庫加入到倉庫組即可.像這樣:
<repositories>
<repository>
<id>nexus</id>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
Nexus中預設了2個倉庫組,public repositories和public snapshot repositories. 如圖:
這個倉庫組默認包含本地倉庫Releases, snapshots, 3rd party和代理倉庫Maven Central. 你可以在Configuration配置頁添加倉庫到這個倉庫組. 如果需要你還可以創建一個倉庫組,如圖:
點擊 Add->Repository Group
出現New Repository Group界面後,填入ID, name 等相關信息, 在右邊Available Repositories 欄里可以選擇你要添加的倉庫到你新建的倉庫組.
通過Nexus搜索構件
在我們實際使用構件的過程中通常遇到一個問題,有時候我緊緊知道我所需要的構建的大致名字,並不知道全稱或group id, 這是件非常頭疼的事情. Nexus基於Nexus indexer的搜索功能幫我們解決了這個問題.
要是用搜索功能, 必須要有索引文件, Nexus默認是不建立索引文件的,因為像中央倉庫這樣的索引文件的建立需要耗費比較大的網路資源,僅索引文件就要幾十兆. 要開啟中央倉庫的索引文件下載功能需要在Maven Central的配置頁面, 把Download Remote Indexes選擇true. 如圖:
這樣設置以後, Nexus會自動從遠程中央倉庫下載索引文件, 為了檢驗索引文件自動下載是否生效,可以卻換到Browse:
如果出現先以上文件夾,那說明索引文件已經建立.
下面我試一下搜索功能, 在左邊菜單欄裡面有個Artifact Search, 在輸入框裡面輸入你想要搜索的構件名字,比如: testing, 那麼查詢結果如下:
這是模糊查詢的結果,當然如果你知道更多信息,比如版本號等,你可以使用高級搜索,點擊高級搜索後,右邊界面會提供集中搜索方式:keyword, classname, GAV, checksum
比如我們這里選擇GAV模式, 而且我只知道artiface name : testng和版本號5.8, 其他的我不知道, 那麼就在artifact 和 version處分別輸入testng 和 5.8 , 搜索結果如下:
你如果你不知道知道構件的名稱, 只知道classname, 那麼你也可以通過class name 的方式搜索,這里就不再贅述
當你選擇一項搜索結果,在頁面的下方會出現這個構件的詳細信息, 並且會列出這個構件的Maven依賴配置, 你可以直接拷貝到你的pom文件中使用,這是個非常實用的功能:
在Maven中使用Nexus
到此為止我們介紹了如何安裝和使用Nexus以及其基本配置, 下面我們介紹下如何讓Maven來使用Nexus本地倉庫用來替代使用遠程倉庫. 在Maven使用Nexus本地倉庫只需稍作配置, 在settings.xml中加入以下代碼:
<profile>
<id>dev</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://127.0.0.1:8081/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
這里配置了repository和pluginRepository, Maven在使用第三方構件和插件時是分開來配置的,所以如果我們也希望插件的下載也通過我們的本地倉庫來下載,那麼我們就需要配置pluginRepository.
紅色字體部分就是我們之前安裝的Nexus的地址, 這個地址可以是你們公司區域網內部的一台倉庫伺服器.
<releases> <enabled>true</enabled></releases>這個標簽的作用是設定是否允許下載
release版本的載構件, 同樣snapshots標簽可以設定是否允許下載snapshot版本的構件.
通常,我們不建議下載snapshot版本的構件,因為它是不穩定的版本, 除非你有特殊的需
求.
構件部署
有些時候我們需要部署構件到Nexus的3rd party, 比如我們在中央倉庫找不到我們需要的構件, 我們可以通過Nexus的UI來上傳構件:
點擊左邊菜單欄的 Repositories, 然後點擊右邊界面的3rd party, 選擇界面下方的Artifact Upload, 這個時候出現以下界面:
上傳構件需要兩個步驟,一個是定義文件的上傳,再就是構件的實體文件.
第一部分定義文件可以是POM文件, 這也是比較推薦的方式, 如果沒有pom文件,可以
選擇以參數的形式輸入.
第二部分是上傳構件的實體文件,這里簡單說一下Classifier和Extension, 這兩個都是選
填相, Classifier用來區別同功能的構件用於不同的場景, 比如這個構件是分別針對JDK14
和JDK15做了2個功能一樣的Jar, 這個時候你就需要指定這個構件的Classifier為JDK14
還是JDK15. Extension是指擴展名,如果不提供,那麼會自動取這個構件的Packaging Type
作為擴展名, 比如 ear, jar, war 等等. (Packaging Type是在第一步中通過pom文件或者手
工輸入得到的)
剛才說了3rd party的部署, 關於releases 和 snapshots的UI部署也是一樣的操作過程.
我們之前也講過, 這里的releases和snapshots是用來部署我們自己的項目構件的, 通過
UI部署是可以,但是不是最高效的, 我們可以通過配置Maven來自動部署我們的項目構
件,這也是我們建立自己的倉庫的一個非常重要的原因, 下面就讓我們看看如何配置:
首先需要在POM文件中加入以下代碼:
<project>
...
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>
這里配置,讓Maven知道當我要發布release版本或者snapshot版本是需要發布到哪個地址.
然後我們需要在setting.xml裡面配置一下Nexus的帳號和密碼:
<settings>
...
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
...
</settings>
到此為止, 我們就可以通過命令mvn deploy或者通過IDE的可視化界面點擊deploy來發布我們項目到本地倉庫了. 通過這種方式我們可以很方便的進行模塊間的依賴開發。