2011-05-21 156 views
37

AFAIK maven沒有Windows安裝程序,只需將其解壓到任意位置,如here所述。缺少maven .m2文件夾

但是在很多地方都有對用戶文件夾下的.m2文件夾的引用(在Win7中,我猜想它默認是C:\Users\.m2.Alas我沒有那個文件夾,是否有一些命令來創建這個文件夾?我是否缺少一些基本的東西?

+1

我期望它在'java.home' Java [系統屬性](http://download.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties %28%29)指向(默認)。如果它不存在,它將由Maven創建。 – McDowell 2011-05-21 12:15:57

回答

58

在Windows機器上,.m2文件夾預計位於${user.home}之下。在Windows 7和Vista上,這解析爲<root>\Users\<username>和在XP上它是<root>\Documents and Settings\<username>\.m2。所以你通常會在c:\Users\Jonathan\.m2之下看到它。

如果您想要在Windows上創建一個帶有.前綴的文件夾,您可以在命令行上簡單地執行此操作。

  • 轉到開始 - >運行
  • 類型CMD,然後按Enter鍵
  • 在命令提示符下鍵入MD C:\用戶\喬納森\ .M2(或相當於您的$ {user.home}值)。

注意,你實際上並不除非你想創建一個不同的用戶設置文件,這是可選的(見Settings reference瞭解詳細信息)所需要的.m2目錄位置。

如果你不需要一個單獨的用戶設置文件和真的不希望用戶在本地存儲庫中的家,你可以簡單地通過修改全局設置文件中設置你的資料庫到不同的文件夾的位置(位於\的conf \ settings.xml的)。如下面的鏈接中提到

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
        http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    <localRepository>c:\Maven\repository</localRepository> 
    ... 
+1

非常明確的答案!試了一下,它解決了我的問題。但是你回答了我對SA提出的另一個問題。富有,如果你將你的答案的最後部分粘貼到我的其他問題上,我會給你正確答案的功勞。 Q在這裏:http://stackoverflow.com/questions/6081838/how-to-set-where-maven-installs-plugins – Jonathan 2011-05-21 22:06:00

+0

很高興幫助,我已經稍微修改了答案,以更好地適應其他問題。 – 2011-05-21 22:41:25

+1

Rich,我給你答案,因爲你幫我解決了我的問題,雖然你沒有幫我理解爲什麼我(仍然)沒有.m2目錄... – Jonathan 2011-05-22 12:07:19

2

是否將文件系統顯示配置設置爲顯示隱藏文件和文件夾?如果我沒有記錯,默認情況下它是隱藏的。應該位於c:\ users \ username \ .m2下。

+0

是的,我在做:)首先應該創建這個文件夾? – Jonathan 2011-05-21 12:37:01

+1

我相信它是在您通過maven運行第一個項目時創建的。你的項目是否成功建成,如果不成功,它有多遠? – roberttdev 2011-05-21 12:39:49

+0

不,它並沒有因爲這個目前未解決的問題:http://stackoverflow.com/questions/6081275/maven-wont-download-a-plugin?answertab=oldest#tab-top – Jonathan 2011-05-21 12:44:32

8

使用mvn -Xmvn --debug找出從不同位置的Maven的settings.xml讀取。 This switch激活調試日誌記錄。只需檢查mvn --debug | findstr /i /c:using /c:reading的第一行。


對,Maven使用Java系統屬性user.home作爲.m2文件夾的位置。

但是user.home確實不總是解析爲%USERPROFILE%\.m2。如果您已將桌面文件夾的位置移至其他位置,則user.home可能會解析爲此新桌面文件夾的父目錄。使用Windows Vista或更新的Windows與Java 7或任何較舊的Java版本時,會發生這種情況。

博客文章Java’s 「user.home」 is Wrong on Windows描述得非常好,並提供官方錯誤報告的鏈接。這個bug在Java 8中被標記爲已解決。博客的訪問者Lars的評論提出了一個很好的解決方法。

+0

感謝您的回答和鏈接 – 2014-12-30 00:20:46

0

是否有一些命令來創建此文件夾?

如果SMB再次面對這個問題,你應該知道的最簡單的方法來創建.m2文件夾。
如果您解壓maven並設置maven路徑變量 - 只需從您喜歡的任何地方嘗試mvn clean命令!
運行時不要害怕錯誤消息 - 它可以工作並創建所需的目錄。

1

當您第一次安裝maven時,.m2文件夾將不會出現在C:\ Users \ {user}路徑中。 要生成文件夾,您必須運行任何maven命令,例如mvn clean,mvn install等,以便它搜索.m2文件夾中的settings.xml,並在找不到時創建一個。

所以很長的故事CUR短, 打開CMD - > MVN安裝

它會顯示無法找到任何項目(別擔心Maven是工作的罰款:P) 現在檢查你的用戶文件夾。

P.S.如果仍然無法查看.m2文件夾,請嘗試取消隱藏隱藏項目。