第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

<scope>provided</scope> 依賴和weblogic?

<scope>provided</scope> 依賴和weblogic?

慕哥6287543 2021-11-11 16:19:24
如果這個問題是指一個常見的問題,我很抱歉,但我覺得這很抽象,并不能真正為它構成一個好的谷歌搜索詞。我正在嘗試理解并找到 maven 中提供的依賴項的用例。我的想法是這樣的:比方說,我有 3 個 Maven 項目:A、B、CB 是一個 api,就像 JPAC 是為了爭論而說,HibernateA 對 B 有提供的依賴如果我在同一個 Weblogic 域/服務器上部署 A 和 C。A 會將類路徑上的 C 視為 B 的實現嗎?如果不是,那么提供的作用域依賴的良好用例是什么?
查看完整描述

1 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

正如Maven 文檔規(guī)定的范圍所提供的:

這很像 compile,但表明您希望 JDK 或容器在運行時提供依賴項。例如,在為 Java Enterprise Edition 構建 Web 應用程序時,您可以將對 Servlet API 和相關 Java EE API 的依賴項設置為提供的范圍,因為 Web 容器提供這些類。此范圍僅在編譯和測試類路徑上可用,并且不可傳遞。

那里已經提到了一個用例:在構建稍后要部署在 JavaEE 應用程序服務器上的 JavaEE 應用程序時,應用程序服務器提供了 javaEE 實現。

因此,要告訴 Maven 您在編譯時需要此依賴項但稍后未打包到項目中,您將使用提供的范圍,例如:

<dependency>

    <groupId>javax</groupId>

    <artifactId>javaee-api</artifactId>

    <version>7.0</version>

    <scope>provided</scope>

</dependency>

另一個用例是構建使用不同容器類型的 JavaEE 應用程序。有一個JavaEE EJB 和一個 Web 容器,您需要確保您的類不會被打包/加載到錯誤的容器中,甚至不會被加載到兩個容器中,因為這可能會給您的應用程序和類加載器帶來各種問題。


假設您正在構建一個包含 EJB 模塊和 Web 模塊的應用程序,并且您希望 EJB 在 EJB 容器中運行。您還希望在 web 模塊中使用您的 EJB。由于 EJB 在 EJB 容器中運行,而 Web 模塊在 web 容器中運行,因此您不能簡單地在您的 Web 項目中添加具有作用域 compile 的 EJB-Dependency。因為如果你這樣做,maven 會將 ejb 打包到 war 文件中,而 EJB 最終會出現在 web 容器中。


因此,在您的 Web 應用程序中,您可以將依賴項添加為


<artifactId>my-web</artifactId>

<packaging>war</packaging>

<dependency>

    <groupId>your.group</groupId>

    <artifactId>my-ejb</artifactId>

    <type>ejb</type>

    <scope>provided</scope>

</dependency>

這樣你就告訴 maven 你想使用你的 EJB 模塊,但它不應該把它打包到你的 war 文件中,你將確保這個模塊在運行時自己可用。


查看完整回答
反對 回復 2021-11-11
  • 1 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號