正常使用eclipse打包,現在使用ant呼叫jdt來進行編譯,但編譯的結果存在差異
比如 int x = xxx.read() x物件從頭到尾并未呼叫,eclipse打包然后進行反編譯的結果會原文顯示 int x = xxx.read()
但使用ant 呼叫 jdt來進行編譯,這里直接優化成了 xxx.read() ,請問大神,有什么方法能讓ant 編譯的結果與 eclipse完全一致!,謝謝
uj5u.com熱心網友回復:
有大神在嗎?求解決問題。。。uj5u.com熱心網友回復:
請問有解決嗎uj5u.com熱心網友回復:
是因為eclipse使用的系統jdk編譯的ant是按jre版本編譯的
uj5u.com熱心網友回復:
有辦法讓ant和eclipse編譯一致嗎
uj5u.com熱心網友回復:
這個不好控制eclipse,特別是高版本的,需要高版本jdk,低版本eclipse不能運行。而ant/maven可以使用路徑和JVAVA_HOME控制使用的jdk版本
你想控制產品版本就用ant/maven去做編譯
uj5u.com熱心網友回復:
這個問題 2010前后遇到過 3樓的回答是錯誤的Eclipse使用自己的編譯器, Eclipse編譯器for Java (ECJ)
https://blog.csdn.net/qq_20610631/article/details/82703380
https://blog.csdn.net/cwdysg/article/details/61915572
ant呼叫ecj 可以參考
https://owenou.com/running-eclipse-java-compiler-with-ant/
uj5u.com熱心網友回復:
這個之前就試過了,用了ecj還是有差異的。還有比較嚴重的一個問題就是增量編譯的時候,修改類中的靜態變數,其他參考到這個靜態變數的類不會重新編譯
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/24210.html
標籤:Eclipse
上一篇:Springboot 有時候圖片上傳出現SocketTimeoutException: null
下一篇:求距離幾個點最短的點
