1
我正在使用(並學習)Buildr來構建和打包我的項目。我想在EJB項目MANIFEST文件中自動生成類路徑屬性。目前我在做:Buildr Manifest從EAR包生成類路徑
manifest_cp = compile.dependencies.map { |d|
"#{File.basename(d.name)}"
}.join(" ")
package(:jar).with :manifest=>manifest.merge('Class-Path'=>manifest_cp)
我是Ruby和Buildr的新手,所以可能有更好的方法來做到這一點。但是我實際上希望能夠生成我定義並打包在我的EAR中的jar,而不是在我的JAR中獲得編譯依賴關係。
我包我的耳朵項目,如:
package(:ear).include(ANTLR, AOP_ALLIANCE, ...
包裝罐和修改艙單我創建打包在EAR的所有依賴性的類路徑屬性時,是否有可能在我的EJB項目構建?最重要的是,我還想排除一個或兩個依賴關係?
感謝
UPDATE
我嘗試了不同的方法,似乎更好(但仍可能有比我有什麼更好的方法)。我創建了一個握着我的所有工件我想在我耳邊包括,然後建立起來的類路徑字符串常量:
EARLIBS = [ANTLR, AOP_ALLIANCE, ... ]
manifest_cp = Buildr.artifacts(EARLIBS).each { |artifact| artifact.invoke }.map{ |d|
"#{File.basename(d.to_s)}"
}.join(" ")
當我打包EJB我應指定在上面創建的manifest_cp:
package(:jar).with :manifest=>manifest.merge('Class-Path'=>manifest_cp)
當我打包我引用的所有文物中聲明的常數EAR:
package(:ear).include(EARLIBS)
即使這個工程是我想如果任何人有一個是我將不勝感激這樣做
感謝tter方式,