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

歡迎訪問 生活随笔!

生活随笔

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

java

针对新手的Java EE7和Maven项目–第8部分

發布時間:2023/12/3 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 针对新手的Java EE7和Maven项目–第8部分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 第1部分 ,
  • 第2部分 ,
  • 第3部分 ,
  • 第4部分 ,
  • 第5部分 ,
  • 第6部分 ,
  • 第7部分
  • 第8部分

自上一篇文章以來,這一系列教程已經有很長時間了。 是時候恢復并在我們的簡單項目中添加新功能了。 正如我在之前的帖子中提到的那樣,本系列文章主要針對Maven和JavaEE7新手,我歡迎對以下內容有任何疑問或意見(和修正)。 我保證我會努力跟上更新。

這個帖子的Git標簽?

該帖子的標簽是post8 ,可以在我的bitbucket存儲庫中找到。

與以前的帖子相比有什么變化?

  • 讀者的代碼注釋和修正已被集成。非常感謝您的來訪。
  • 我已經將Wildfly應用服務器的版本從8.1更新到8.2,因此所有示例和代碼都在新服務器下運行。
  • 我還將Arquillian BOM的版本更新為最新版本,即現在的1.1.7。
  • 我還在樣本父項目下添加了一個屬性,該屬性指示各種maven模塊將自動下載和使用Wildfly服務器的路徑,這樣您就不必自己下載它。 一旦您嘗試執行先前文章中的單元測試之一,服務器將自動下載并提取到預定義的路徑(sample-services模塊) <!--path to download wildfly--><wildfly-server-home>${project.basedir}/servers/</wildfly-server-home>

在我們的耳朵上添加啟用了JSF的war Maven模塊

最終,我們的項目結構已經出現了戰爭(請參見示例網站)

Maven模塊。 因此,沒有引入任何額外的模塊,而是對父級和模塊本身的現有pom.xml文件進行了更改。

步驟1在web.xml上更改

我們的應用程序服務器已經捆綁了必需的庫和設置,以支持使用JSF 2.2規范的應用程序。 Wildfly捆綁了Mojarra 2.2.8 。 我們要做的只是更新一些配置描述符(最終只有一個)。 最重要的是web.xml,現在看起來像這樣。

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><context-param><param-name>javax.faces.PROJECT_STAGE</param-name><param-value>Development</param-value></context-param><servlet><servlet-name>Faces Servlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>Faces Servlet</servlet-name><url-pattern>/faces/*</url-pattern></servlet-mapping><session-config><session-timeout>15</session-timeout></session-config><welcome-file-list><welcome-file>faces/index.xhtml</welcome-file></welcome-file-list> </web-app>

第2步:打包戰爭和瘦身的戰爭問題

我們的戰爭模塊遵循一種稱為“瘦身戰爭”的包裝方案。 請從Apache maven war插件閱讀以下頁面 。 長話短說,為了減小部署能力(耳朵)的整體大小,我們將所有必需的庫打包在耳朵級別的預定義文件夾下,通常稱為\ lib,并且不包括在下面的庫戰爭的WEB-INF \ lib文件夾。 您唯一需要做的就是將戰爭的相關性添加到耳邊。 盡管事實上整個“ hack”感覺都不是專家,但如果遵循建議的配置,它就可以工作,但是在某些情況下,瘦小的戰爭包裝將無法工作。 其中之一通常用于基于JSF的JavaEE Web應用程序,在該應用程序中,應將JSF小部件引擎的實現打包在戰爭的WEB-INF \ lib中。

對于我們的示例項目,我正在使用優秀且免費的Primefaces庫 ,我強烈建議您將其用于下一個基于JSF的項目。 因此,我需要為primefaces jar定義對war模塊的依賴關系,但要通過僅針對此jar的瘦war機制,以便將其打包在正確的位置。 這是我們的做法。

<!-- from the war module pom.xml --><!-- This is the dependency --> <dependency><groupId>org.primefaces</groupId><artifactId>primefaces</artifactId><version>${primefaces-version}</version></dependency><!-- See the packaging exclude, we exclude all the jars apart from the one we want to be bundled within the WAR --> <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><packagingExcludes>%regex[WEB-INF/lib/(?!primefaces).*.jar]</packagingExcludes><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix></manifest><manifestEntries><Class-Path>sample-services-${project.version}.jar</Class-Path></manifestEntries></archive></configuration></plugin>

步驟3添加一些jsf愛,一個托管bean和帶有適當標簽的xhtml頁面。

我們的代碼只是一張小桌子,還有幾個Primefaces的標簽。 如果您認為需要閱讀有關JSF 2.X的更多信息,請訪問以下鏈接

  • JSF神靈之一(BalusC)的JSF 2.2教程
  • Primefaces文檔
  • Primefaces展示柜
  • JavaEE教程– Oracle的JSF 2.2
  • JSF 2.2示例

步驟4打包并部署到正在運行的服務器。

啟動您的wildfly(預計您的項目庫目錄和子文件夾服務器下應有一個)

<wildfly-server-home>${project.basedir}/servers/</wildfly-server-home>

然后在樣本父項目類型下。

mvn clean install -Ph2

您應該在http:// localhost:8080 / sample-web /上具有啟用了JSF 2.2的演示應用程序,并看到類似以下內容的內容。

就是這樣,這將為您提供一個簡單的起點,以便擴展除演示之外的其他功能!

與往常一樣,您將在標記post8下找到完整的示例。

翻譯自: https://www.javacodegeeks.com/2015/03/java-ee7-and-maven-project-for-newbies-part-8.html

總結

以上是生活随笔為你收集整理的针对新手的Java EE7和Maven项目–第8部分的全部內容,希望文章能夠幫你解決所遇到的問題。

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