問題描述:
編寫一個web 前置服務,使用ant編譯項目,將項目部署到服務器上,啟動時報此錯誤:Unsupported major.minor version 52.0
網上給出錯誤原因是服務器安裝的java版本低於項目開發編譯使用的java版本。 但是選擇與服務器同樣版本或者低於服務器版本編譯項目,依舊出現此問題。經分析 ant 是使用javac 進行項目編譯,沒有明確配置使用哪個javac 進行編譯, 默認使用環境變量設置的java 版本進行編譯。
解決辦法: 在build.xml 中配置javac
<javac fork="true" executable="C:/Program Files/Java/jdk1.6.0_24/bin/javac" source="1.6" memoryInitialSize="512m" memoryMaximumSize="1024m" classpathref="classpath" srcdir="${src}" debug="true" deprecation="on" optimize="true" includeantruntime="20" />