亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

WildFly App Dev:如何在開發時反映運行時類路徑?

WildFly App Dev:如何在開發時反映運行時類路徑?

長風秋雁 2022-12-28 16:39:34
我正在開發一個在單個 WildFly 16 實例上部署為 .war WebApp 的項目。使用帶有 Maven 作為開發環境的 IntelliJ Idea UE,我問自己如何在開發時在開發類路徑中反映部署的應用程序在運行時將看到的類路徑。我已經在開發人員指南中閱讀了隱式依賴項。所以我得出結論,我的部署的類路徑將包含“始終添加的依賴項”列中的元素以及在觸發條件下添加的元素(在我的例子中,這些元素是 Weld、Web、Hibernate、Resteasy、EJB3)。我如何確定我必須導入哪些 Maven 工件,以便我的開發類路徑等于我的 WebApp 的運行時類路徑?我想在開發時解決依賴沖突,而不是在運行時。
查看完整描述

1 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

為此,您可以使用WildFly 16 物料清單 (BOM)。我相信您很清楚Maven對POM類型工件的導入功能。以防萬一,將這些行添加到您的Maven pom.xml中:

<dependencyManagement>

  <dependencies>

      <dependency>

        <groupId>org.wildfly.bom</groupId>

        <artifactId>wildfly-javaee8</artifactId>

        <version>16.0.0.Final</version>

        <type>pom</type>

        <scope>import</scope>

    </dependency>

  </dependencies>

</dependencyManagement>

它使您能夠引用 WildFly 的大部分工件(或至少相關工件)以及 Java EE 8 規范工件。這是一個例子:


<dependencies>

  <dependency>

    <groupId>org.hibernate</groupId>

    <artifactId>hibernate-entitymanager</artifactId>

    <scope>provided</scope>

  </dependency>

  <dependency>

    <groupId>org.jboss.spec.javax.servlet</groupId>

    <artifactId>jboss-servlet-api_4.0_spec</artifactId>

    <scope>provided</scope>

  </dependency>

</dependencies>

<!-- And so on... -->

不過,您仍然需要列出所有需要的依賴項。如果您有額外的依賴項(不是由 WildFly 提供),您應該將它們打包到您的WAR或EAR中。這樣你就不應該有任何沖突。


哦,還有一件事,因為您提到了幾個特定于 WildFly 的依賴項(例如 Weld 和 Hibernate):盡可能堅持使用 Java EE API。如果需要,它使您能夠更快地將應用程序移植到其他應用程序服務器。


查看完整回答
反對 回復 2022-12-28
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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