1. 程式人生 > >maven工程引入JAR包後編譯通過了,但專案啟動時找不到JAR包

maven工程引入JAR包後編譯通過了,但專案啟動時找不到JAR包

建立了maven工程,POM檔案里加好了依賴,並且在編譯的時候已經通過了,但是當啟動tomcat的時候,找不到這些JAR包了。

異常如下:

java.lang.NoClassDefFoundError: javax/wsdl/xml/WSDLLocator java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver  把這倆錯誤對應的JAR包放到tomcat下面的話,這兩個異常能過去,但是接下來又找不到其它的JAR包。  最終確定,POM裡引的所有的JAR包在部署之後執行時都找不到。 到tomcat的webapps檔案下檢視。WEB-INF下lib裡面根本沒有這些JAR,所以才會找不到。 解決辦法: 開啟.classpath檔案,加入程式碼
	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
		<attributes>
			<attribute name="maven.pomderived" value="true"/>
			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
		</attributes>
	</classpathentry>

重點是其中的這句
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>

加完之後重新部署專案,這些JAR包都已經被部署好了。專案正常啟動。