2011-12-22 50 views
1

是否可以向指向目錄的dependencies.yml添加依賴項?Play Framework:添加指向本地jar文件目錄的依賴關係

例如,使用僞陽明的dependencies.yml,我想要做這樣的事情:

require: 
    - mycooldirectory 

repositories: 
    - mycooldirectory: 
     type: local 
     artifact: "${application.path}/jars/mycooldirectory/*.jar" 
     contains: 
      - mycooldirectory -> * 

在我虛構的世界,上面將包括mycooldirectory作爲類路徑文件夾,使用該目錄中找到的任何罐子。

我只是在做東西,但我希望這種解釋我想做的事情。我知道你可以將jar放在/ lib目錄中,但是在執行play dependencies --sync時,依賴項.yml未指定的任何jar將被擦除。我也知道你可以通過做this指定單個罐子。然而,我只是想知道你是否可以做類似的事情,但引用一個完整的罐子目錄?

編輯:我有一種解決方法是通過爲mycooldirectory創建一個Play模塊結構(即在該目錄下有一個lib目錄)並將所有jar放在該lib目錄中。然後在dependencies.yml,這樣做:

require: 
    - mycooldirectory -> mycooldirectory 

repositories: 
    - provided:  
     type:  local 
     artifact: "${application.path}/jars/[module]" 
     contains: 
     - mycooldirectory 

雖然我不知道是否有這樣做,而不必做出假裝模塊的更清潔的方式,只是引用一個新的目錄有額外的罐子。

回答

2

此解決方法與您的解決方法類似,但它應該在沒有/lib目錄的情況下運行。我還沒有測試過它,但它已經在郵件列表中,並得到了積極的反饋。

require: 
    - play 
    - play -> googleclosure 1.2 
    - provided -> mylib 1.0 

repositories: 
    - provided: 
     type:  local 
     artifact: "${application.path}/jar/[module]-[revision].jar" 
     contains: 
     - provided -> * 

郵件列表線程:https://groups.google.com/forum/#!topic/play-framework/tU5OJa5JFhs/discussion

+0

是的,我已經看到,但據我所知,這只是指一個罐子在時間(而不是一個完整的罐子的目錄)。糾正我,如果我錯了,但不是上面只是從「jar」目錄中說「我想包括jar mylib-1.0.jar」作爲依賴嗎?「而我想說」添加所有罐子某些目錄無需逐一指定jar「 – digiarnie 2011-12-22 23:01:32

+0

你是對的'' - provided - > mylib 1.0'只添加一個jar文件,但你可以更頻繁地使用該行,但我猜這不是你想要的。例如' - provided - > * *'。否則,請嘗試將您的問題發佈到郵件列表中。 – 2011-12-22 23:45:43

+0

也許很明顯,但我想指出'provided'可以是任何您想要的(例如您的組織名稱)。另外,如果你有一個「1.0-SNAPSHOT」版本或者其他的東西,請在「require」部分放棄「-SNAPSHOT」部分,否則Play會發出抱怨。 – 2013-03-26 19:06:45

相關問題