日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

针对新手的Java EE7和Maven项目–第2部分–为我们的应用程序定义一场简单的战争...

發布時間:2023/12/3 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 针对新手的Java EE7和Maven项目–第2部分–为我们的应用程序定义一场简单的战争... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從第一部分恢復

第1部分
我們剛剛定義了父 pom。 一種特殊的pom類型,它最終定義了我們的應用程序將要使用的庫。 它還配置了所有用于打包我們應用程序每個模塊的Maven工具。 您可以在此處 簽出 -1部分示例代碼。

因此,到目前為止,在將要開發應用程序的目錄中,只有一個名為sample-parent的文件夾,并且該目錄中存放有pom.xml 。 我們的父母pom!

正如我們在模塊部分中所看到的,我們已經定義了應用程序的構建塊

  • 樣品耳
  • 樣本網
  • 樣品服務
  • 樣本域

我們需要創建相關的Maven模塊,并為每個模塊添加特定的pom.xml文件。

定義戰爭模塊

在sample-parent文件夾下,我們創建了一個名為sample-web的子文件夾,并且還添加了pom.xml文件。 (某些人在同一級別上執行此操作)。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>gr.javapapo</groupId><artifactId>sample-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>sample-web</artifactId></project>

但是,這僅僅是什么,我們需要更具體地說明此pom將幫助我們構建什么,因此我們需要定義包裝類型,模塊名稱(針對此戰爭)以及任何依賴項。

...<artifactId>sample-web</artifactId><packaging>war</packaging><build><finalName>${project.artifactId}</finalName></build><dependencies><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId><scope>provided</scope></dependency></dependencies></project>

如果您使用的是支持Maven的IDE(例如Eclipse ),它將自動檢測pom內容的更改,并會自動為您創建符合Maven War包裝的文件夾。 它將為您創建以下結構。 當然,您可以自己做,但是很方便!

樣本網

  • src
    • 主要
      • Java(在此處添加您的Java代碼)
      • webapp(這是放置WEB-INF \ web.xml的位置)
      • 資源(資源,如屬性)
    • 測試
      • Java
      • 資源

在webapp子文件夾下,我已經預創建了\ WEB-INF \ web.xml文件。 我可以跳過這一部分,因為Maven插件可以為我們做這件事,但只是為了說明這種情況,在某些情況下您想自己創建和創建任何自定義條目

如果您想知道如何“放入”一個空的Servlet 3.1 web.xml文件,請在此處查看 ,或下載此文章的代碼。 我還在一個簡單的包下的java子文件夾中添加了一個非常簡單的Servlet,它將包含在我們的應用程序中。 只需幾行代碼。 同樣,您可以在帖子末尾下載相關git(bitbucket)鏈接中的所有代碼。

因此,我們在war模塊pom文件中僅添加了幾行,然后在擁有IDE的情況下,該工具神奇地為我們創建了非常特定的文件夾布局。 我們已“遵循”此布局,并添加了一個非常簡單的servlet java類和一個小的xml描述符。 這里的真正意義是什么?

好吧,關于Maven的好處是,我們的War模塊需要構建的一些東西已經在“特殊”父pom中定義和配置了。 但是這些東西是什么,以及Maven將如何使用它? 正如我們已經闡述的那樣,Maven完全是關于約定的。 您以“正確”的方式放置正確的事物,然后它將為您完成所有工作。

因此,當行家掃描這個戰爭包裝的pom時,它將需要

  • 編譯我們的java類,它是一個servlet
  • 并將sample-web文件夾下的所有內容打包到war文件和所有依賴項中。

誰將做所有這些事情,因為我們沒有在戰爭pom中添加任何特別的東西(除了一個依賴庫之外)。 好吧,這是配置或我們的父pom(請參閱上一篇文章)。

為了編譯我們的源代碼,將“調用” maven-compiler-plugin ,并且由于我們已經定義了maven模塊的打包為“ war”,因此將調用maven-war-plugin將所有內容打包為我們,創建適當的描述符。

因此,在我們的應用程序可能具有多個war或jar模塊的情況下,如果我們有一個父pom,并且在一個中央位置定義了插件和基本配置,則我們不必在所有或我們中重新定義它war / jar pom(s)。

僅在戰爭或罐子之一需要特殊處理的情況下(例如,包裝一些額外的東西或具有特殊的布局),然后在構建部分下,我們可以重新定義插件并覆蓋或添加一些額外的東西,行為。 但這不是我們的情況。 我們希望對插件進行一次定義,并具有一個通用配置,該配置將由將要使用它的應用程序的所有模塊“ 繼承 ”。

使用上面的提示,您可以嘗試并嘗試創建上面已經“定義”的示例服務模塊,或者等待第三部分將快速介紹其余的具體模塊。

您可以在此處找到此帖子的代碼。 (post2標簽)

資源資源

  • 第1部分
  • Maven War文件夾布局
  • JavaEE 7- xml描述符

翻譯自: https://www.javacodegeeks.com/2014/05/java-ee7-and-maven-project-for-newbies-part-2-defining-a-simple-war-for-our-application.html

總結

以上是生活随笔為你收集整理的针对新手的Java EE7和Maven项目–第2部分–为我们的应用程序定义一场简单的战争...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。