SVN檢出Maven項目後遇到的問題記錄(1)

最近要幫別的地市的同事開發軟件,需要在SVN上檢出他的項目,遇到了一些坑,記錄下來以防後續再遇到坑

  • (1)從SVN中檢出項目,我用的IDE是eclipse,這個很輕鬆,下面提供一個鏈接,博主寫的很完整很清晰
    (https://www.cnblogs.com/sharpest/p/6231802.html)
  • (2)檢出項目後,每個項目都是maven項目,在項目的圖標上有個M圖標.由於上傳到SVN中的項目沒有.classpath文件,所以項目目前還只是文件夾的形式,這時需要右鍵該項目,選擇Properties配置該項目,找到Project facets選項,會提示project facets沒有配置:

    這時就需要點擊Convert to faceted form,來配置faceted表單.根據項目的實際情況選擇即可,貼一張我的配置
  • (3)配置完畢後,這個項目就會變成正常的項目,但此時發現,項目沒有Maven Dependencies(Maven依賴,內存jar包),這個是通過Properties=>Libraries中看到的.沒有Maven Dependencies,所有的代碼就沒有jar包支撐.所以必須找到原因讓Maven Dependencies出現.上網諮詢,瞭解到最有可能是.classpath文件的問題,.classpath文件中缺少缺少classpathentry選項,可以檢查下是否包含“org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER”或者
    “org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER”,這兩者的區別就是版本的不同,這是一個叫m2e的maven插件,運行在eclipse中的,前者是新版本後該插件貢獻給了eclipse成爲了eclipse的一部分,後者是未成爲eclipse一部分時的名字.
    具體是在.classpath文件中加入下面這段代碼
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
  • (4)保存後,項目就有Maven Dependencies了,這時有一個項目恢復正常了,另外一個項目卻還是報錯,裏面的代碼依然找不到引入的jar包.諮詢同事後得知該項目是由兩個Maven項目組成,其中一個common是通用的Maven項目,屬於父級Maven項目,而另外一個項目icc則是我們要進行編程的項目,它依賴於common,而我並沒有在配置中掛接他倆的關係,所以代碼就會找不到依賴jar包.這段關係的掛接其實在.classpath文件中也有體現:
<classpathentry combineaccessrules="false" kind="src" path="/test-common"/>

這裏描述的便是項目與項目之間的掛接關係,combine access rules就是結合掛接關係,而path中描述的是該項目所掛接的項目地址.
這個操作可以通過eclipse實現,右鍵需要掛接關係的項目,Properties=>Java build Path=>Projects,然後點擊add,選擇需要掛接的項目名稱即可,點擊OK,項目就掛接完畢.

至此,該項目的檢出成功,可以正常使用了,後續會記載一些使用中的問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章