公司以前员工编译都是直接用eclipse直接编译,现在需要转移到服务器上编译(否则不能自动化,流程化),于是乎开始了漫长的javac的编译报错解决过程。
1、编译报错
package com.sun.image.codec.jpeg does not exist
[javac] import com.sun.image.codec.jpeg.*;
处理办法:
javac 加上参数-XDignore.symbol.file
最好的解决办法,不要使用sun的这些库
2、运行报错
严重: Servlet.service() for servlet [dispatcher] in context with path [/xxx] threw exception [Request processing failed; nested exception is org.springframework.web.bind.annotation.support.HandlerMethodInvocationException: Failed to invoke handler method [public void com.qmsk.business.order.quote.mainQuote.controller.BsMainQuoteController.insertQuote(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse,java.lang.Long)]; nested exception is java.lang.IllegalStateException: No parameter name specified for argument of type [java.lang.Long], and no parameter name information found in class file either.] with root cause
java.lang.IllegalStateException: No parameter name specified for argument of type [java.lang.Long], and no parameter name information found in class file either.
解决办法:
javac -g使用javac的debug模式。
最终使用javac的参数如下,共参考:
javac -g -XDignore.symbol.file -classpath $JAVA_HOME/lib/ -d xxxx -extdirs $JAR_PATH @$SRC_PATH/sources.list
本文出自 “H2O's运维&开发路” 博客,请务必保留此出处http://h2ofly.blog.51cto.com/6834926/1440984