生活随笔
收集整理的這篇文章主要介紹了
在Eclipse上创建JSF / CDI Maven项目
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
當(dāng)我在研究JSF和CDI示例時(shí),我認(rèn)為提及創(chuàng)建JSF和CDI Maven項(xiàng)目所需的步驟會很有用。 您可以找到以下步驟。
工具類
- 默認(rèn)情況下,M2E插件隨附的Eclipse Luna。 因此,無需自己安裝插件。
- WildFlye8.x。
從主菜單中選擇文件->新建->其他。 然后選擇Maven-> Maven項(xiàng)目。
單擊下一步按鈕,然后選中“創(chuàng)建簡單項(xiàng)目(跳過原型選擇)”。
寫下組ID和工件ID,然后選擇包裝作為WAR。
單擊“完成”按鈕創(chuàng)建項(xiàng)目,并在“導(dǎo)航器”視圖中顯示波紋管結(jié)構(gòu)。
如您所見,由于沒有WEB-INF文件夾,因此沒有部署描述符文件(web.xml)。 同樣,通過檢查Project Facets(選擇項(xiàng)目,然后選擇ALT + ENTER,然后從左側(cè)菜單中選擇Project Facets),我們可以看到Dynamic Web Module的版本為2.5,并且未選擇JavaServer Faces。 現(xiàn)在是時(shí)候?yàn)槲覀兊捻?xiàng)目做一些配置了。
右鍵單擊項(xiàng)目名稱,然后單擊配置->添加JSF功能。 這會將項(xiàng)目配置為JSF項(xiàng)目,并添加帶有web.xml和faces-config.xml的WEB-INF。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name>JSFCDIMavenProject</display-name><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>
</web-app><?xml version="1.0" encoding="UTF-8"?>
<faces-configxmlns="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-facesconfig_2_2.xsd"version="2.2"></faces-config> 將必要的API作為依賴項(xiàng)添加到pom.xml。 另外,添加帶有3.1版的maven-compiler-plugin。 我還指出了maven使用Java編譯器1.7版。 所以這是最終的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><groupId>com.ithinkisink</groupId><artifactId>JSFCDIMavenProject</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>JSFCDIMavenProject Maven Webapp</name><dependencies><dependency><groupId>javax.inject</groupId><artifactId>javax.inject</artifactId><version>1</version><scope>provided</scope></dependency><dependency><groupId>javax.faces</groupId><artifactId>jsf-api</artifactId><version>2.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.enterprise</groupId><artifactId>cdi-api</artifactId><version>1.0</version><scope>provided</scope></dependency></dependencies><build><finalName>JSFCDIMavenProject</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.7</source><target>1.7</target></configuration></plugin></plugins></build>
</project> 現(xiàn)在,右鍵單擊項(xiàng)目名稱,然后選擇“ Maven”->“更新項(xiàng)目”以使用新添加的配置更新項(xiàng)目。 部署描述符(web,xml)的版本為2.5,我們在依賴項(xiàng)中指向servlet 3.1。 因此,根據(jù)Java EE 7XML模式,名稱空間更改為http://xmlns.jcp.org/xml/ns/javaee/。 這是應(yīng)用更改后的最終web.xml。 <?xml version="1.0" encoding="UTF-8"?>
<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"><display-name>JSFCDIMavenProject</display-name><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>
</web-app> 再次檢查Project Facets。 您可以更改版本3.1的動態(tài)Web模塊,并根據(jù)依賴項(xiàng)中添加的版本對JavaServer Faces進(jìn)行2.2版檢查。
所需的最后一個(gè)配置是啟用CDI上下文。 這可以通過創(chuàng)建一個(gè)名為beans.xml的XML文件并將其作為以下文件添加到WEB-INF文件夾中來完成。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<beans 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/beans_1_1.xsd"bean-discovery-mode="all">
</beans>
最后,將項(xiàng)目添加到WildFly,然后啟動服務(wù)器。 您將在控制臺視圖中看到WildFly啟動了將CDI部署到應(yīng)用程序的服務(wù)。
我已將此存根項(xiàng)目推送到我的GitHub,您可以通過以下URL找到它。
- https://github.com/belalgalal/Blogging/tree/master/JSFCDIMavenProject
翻譯自: https://www.javacodegeeks.com/2016/02/creating-jsfcdi-maven-project-eclipse.html
總結(jié)
以上是生活随笔為你收集整理的在Eclipse上创建JSF / CDI Maven项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。