我在運(yùn)行flink程序時候,就是一個table程序,在編譯時候以及寫代碼都不報(bào)錯,然后運(yùn)行就報(bào)錯少依賴,
臥槽,而且這個依賴這個類我都能夠找到,點(diǎn)進(jìn)去能看到源碼,死活報(bào)錯找不到
后來發(fā)現(xiàn)我在這幾個類的pom.xml文件里面都加著 <scope>provided</scope>
把這個<scope>provided</scope>刪除即可
對于scope=compile的情況(默認(rèn)scope),也就是說這個項(xiàng)目在編譯婆廊,測試巫橄,運(yùn)行階段都需要這個artifact對應(yīng)的jar包在classpath中。
而對于scope=provided的情況湘换,則可以認(rèn)為這個provided是目標(biāo)容器已經(jīng)provide這個artifact。換句話說筹我,它只影響到編譯帆离,測試階段。在編譯測試階段哥谷,我們需要這個artifact對應(yīng)的jar包在classpath中麻献,而在運(yùn)行階段猜扮,假定目標(biāo)的容器(比如我們這里的liferay容器)已經(jīng)提供了這個jar包,所以無需我們這個artifact對應(yīng)的jar包了破镰。