我正在將我的構建鏈從Eclipse提供的構建鏈切換到Gradle。 當我在Eclipse中開發Web應用程序時,我曾經添加特定的服務器運行時,以便讓應用程序服務器提供的jar已經存在於類路徑中。應用程序服務器提供的罐子是什麼?
現在,我swtiching到搖籃,我怎麼知道什麼是從應用服務器提供的罐子以及必須因此表示爲providedCompile而不是編譯?
我正在將我的構建鏈從Eclipse提供的構建鏈切換到Gradle。 當我在Eclipse中開發Web應用程序時,我曾經添加特定的服務器運行時,以便讓應用程序服務器提供的jar已經存在於類路徑中。應用程序服務器提供的罐子是什麼?
現在,我swtiching到搖籃,我怎麼知道什麼是從應用服務器提供的罐子以及必須因此表示爲providedCompile而不是編譯?
這可能對你有幫助。在本質上,你需要的「戰爭」 gradle這個插件:https://gesellix.net/providedcompile-and-compile-dependencies-with-gradle/
這將取決於你的應用服務器上:它們都帶有不同的JAR(明顯的東西,如,Servlet等所有設置)
你可以從Eclipse類路徑中刪除服務器運行時並查看什麼是中斷?
是的......這正是我的做法使用,但在我看來有點......髒? – Gianluca
建議TBH時我覺得很髒。你可以選擇JVM選項-verbose:class? http://www.oracle.com/technetwork/java/javase/clopts-139448.html#gbmtm –
嗯......我看......似乎沒有回答我的問題。任何人想要着手創建幾個空瓶子,只包含各種應用程序服務器提供的庫並將它們上載到mavencentral/jcenter?那很好,是吧?因此,如果您想要定位某個特定版本的特定AS,請將此空白jar指定爲providedCompile依賴項。這會起作用嗎? – Gianluca
您正在使用哪個應用程序服務器? –
嘗試着瞄準一個應用服務器。用jee-version來思考,例如JEE7,JEE7網絡配置文件似乎是一樣的,但第一個可以通過wildfly,glassfish或websphere滿足,但tomcat不會。 tomcat和jetty只能處理web配置文件。 – Sombriks
@ p-s-m在特定情況下,我正在使用JBoss。我知道我可以在我的jboss本地安裝的模塊子文件夾中看到提供的jar。我徘徊的是,是否有一個存儲庫或Gradle可尋址的東西,它添加了由jboss提供的所有依賴關係,如下所示:provideCompile'org.jboss.providedlibs:7.1.1' – Gianluca