今天在IDEA上寫了一個項目,使用IDEA運行main函數時,程序運行正常,可是放到服務器上,使用maven的指令:mvn exec:java -Dexec.mainClass=""的時候,報了一個八竿子打不着的錯誤:ObjectInputStream的異常。
可是項目在IDEA上執行是正常的,因而我在本地也使用mvn exec來執行項目,發現仍是報錯。
陷入了沉思。。。html
IDEA運行時,使用的class文件和mvn exec使用的文件是一致的,那麼問題就應該出如今依賴的包上,因而寫了另外一個Main類,在裏面調用了引用的依賴中的一個類,而後使用mvc exec執行這個Main類,發現報錯ClassNotFoundExeception。java
問題就很明顯了,mvn exec執行的時候,並無將依賴引入進來。服務器
考慮到maven引入依賴的時候,全部依賴默認的scope都是compile。
exec文檔說能夠修改執行時類路徑的scope,因而在原有指令後面加了一個 -Dexec.classpathScope=compile,程序就能正常運行了。mvc