java web项目目录报错_netdevgirl.通过maven创建javaweb项目
解決方法:右鍵工程-->Properties-->Project Facets,最面邊的面板,選擇Runtimes,選中tomcat服務。“Apply”應用配置。
2 Dynamic Web Module版本不能修改的問題
不難發現,默認的jdk版本和Dynamic Web Module版本不對。
2.1?修改JDK版本:java后面的版本,改為匹配的1.7,可以正常修改,沒有問題。
2.2?直接修改Dynamic Web Module版本,則報錯,并且不能修改,如下:
這是因為Maven的默認配置。該版本的Maven默認使用jdk1.5,對應的web版本是2.3。查到的解決辦法有兩種,這里采用了修改項目配置的方式解決:
打開pom.xml,在build的finalName下面,添加依賴
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.7
1.7
保存后,項目會報錯,提示更新maven project。
修改pom.xml后,一般都需要更新maven project。即右鍵項目,選擇Maven-->Update Project...
遇到問題:如果網絡比較慢,更新會很長時間,也不會停止。
解決辦法:在網絡比較通暢的地方執行該操作。或者,本地有正常運行的maven工程(即已經有maven的依賴庫)這時,強制將進程結束。在
Window-->Properties-->Maven中,將offline選中。就可以通過本地庫完成update操作了。
tip:兩種修改Maven依賴的jdk版本的方式
tip1:?在1.2中引用的配置文件settings.xml中,修改maven全局jdk。(對當前項目無效,修改以后創建的工程,則自動使用該版本的jdk。)
jdk1.7
true
1.7
1.7
1.7
1.7
tip2:?修改項目pom.xml
在build-finalName下面,添加如下的plugin。
base
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.7
1.7
2.3?這時回到properties-project facets,修改Dynamic Web Module版本,依然會報錯。
解決方法:
A?先將Dynamic Web Module的版本選為3.0,然后將其前面checkbox的勾選去掉,點擊”Apply“應用配置。如下:
B?再次選中Dynamic Web Module。”Apply“應用,配置完成。這時就不會報錯了。
3 修改web.xml的版本
默認生成的web.xml版本是2.3dtd的。如下圖:
修改為:
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_3_0.xsd"
id="WebApp_ID" version="3.0">
Archetype Created Web Application
tip:關于web.xml
XML?元素是大小寫敏感的。
XML元素出現的次序是敏感的。例如,XML頭必須是文件中的第一項,DOCTYPE聲明必須是第二項,而web- app元素必須是第三項。
在web-app元素內,元素的次序也很重要。下面的列表給出了所有可直接出現在web-app元素內的合法元素所必需的次序:
???icon icon元素指出IDE和GUI工具用來表示Web應用的一個和兩個圖像文件的位置。
???display-name display-name元素提供GUI工具可能會用來標記這個特定的Web應用的一個名稱。
???description description元素給出與此有關的說明性文本。
???context-param context-param元素聲明應用范圍內的初始化參數。
???filter?過濾器元素將一個名字與一個實現javax.servlet.Filter接口的類相關聯。
???filter-mapping?一旦命名了一個過濾器,就要利用filter-mapping元素把它與一個或多個servlet或JSP頁面相關聯。
???listener servlet API的版本2.3增加了對事件監聽程序的支持,事件監聽程序在建立、修改和刪除會話或servlet環境時得到通知。Listener元素指出事件監聽程序類。
???servlet?在向servlet或JSP頁面制定初始化參數或定制URL時,必須首先命名servlet或JSP頁面。Servlet元素就是用來完成此項任務的。
???servlet-mapping?服務器一般為servlet提供一個缺省的URL:http://host/webAppPrefix/servlet/ServletName。但是,常常會更改這個URL,以便servlet可以訪問初始化參數或更容易地處理相對URL。在更改缺省URL時,使用servlet-mapping元素。
???session-config?如果某個會話在一定時間內未被訪問,服務器可以拋棄它以節省內存。可通過使用HttpSession的setMaxInactiveInterval方法明確設置單個會話對象的超時值,或者可利用session-config元素制定缺省超時值。
???mime-mapping?如果Web應用具有想到特殊的文件,希望能保證給他們分配特定的MIME類型,則mime-mapping元素提供這種保證。
???welcom-file-list welcome-file-list元素指示服務器在收到引用一個目錄名而不是文件名的URL時,使用哪個文件。
???error-page error-page元素使得在返回特定HTTP狀態代碼時,或者特定類型的異常被拋出時,能夠制定將要顯示的頁面。
???taglib taglib元素對標記庫描述符文件(Tag Libraryu Descriptor file)指定別名。此功能使你能夠更改TLD文件的位置,而不用編輯使用這些文件的JSP頁面。
???resource-env-ref resource-env-ref元素聲明與資源相關的一個管理對象。
???resource-ref resource-ref元素聲明一個資源工廠使用的外部資源。
???security-constraint security-constraint元素制定應該保護的URL。它與login-config元素聯合使用
???login-config?用login-config元素來指定服務器應該怎樣給試圖訪問受保護頁面的用戶授權。它與sercurity-constraint元素聯合使用。
???security-role security-role元素給出安全角色的一個列表,這些角色將出現在servlet元素內的security-role-ref元素的role-name子元素中。分別地聲明角色可使高級IDE處理安全信息更為容易。
???env-entry env-entry元素聲明Web應用的環境項。
???ejb-ref ejb-ref元素聲明一個EJB的主目錄的引用。
???ejb-local-ref ejb-local-ref元素聲明一個EJB的本地主目錄的應用。
4?完善Maven工程目錄
總結
以上是生活随笔為你收集整理的java web项目目录报错_netdevgirl.通过maven创建javaweb项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二战美国另类的M10坦克歼击车
- 下一篇: java简述对象的组合_Java程序运行