我使用Maven構建和得到一個看似無害的「符號未找到」錯誤 - 問題是我驗證過的版本是正確的所有我知道的較低級別的Java工具,它看起來不透氣。我已經使用此命令行建:的Java找不到符號錯誤,即使已經驗證的classpath和.class文件用javap的
javac -d /home/dan/EmailClient/Initial-Client/target/classes -classpath <many jars>:
/thepath/Common/1.0-SNAPSHOT/Common-1.0-SNAPSHOT.jar /* I need this one */
-sourcepath /thepath/src/main/java: <the files>
-s /thepath/target/generated-sources/annotations
-g -nowarn -target 1.7 -source 1.7 -encoding UTF-8
得到這個錯誤:
Launcher.java:119: error: cannot find symbol
return Promise.onPool(getterPool).continueWith(new Transformer<Void, Promise<List<Void>>>() {
(有誤差指着onPool
)
並已通過複製運行jar xf Common-1.0-SNAPSHOT.jar
(cd
ING和粘貼目錄在命令行中),然後
javap Promise.class
這表明
public static me.unroll.functional.Promise<java.lang.Void> onPool(java.util.concurrent.Executor);
所以這看起來密不透風,我 - 什麼調試一步我缺少什麼?
而且這將構建一個單獨的機器上罰款和運行良好的Eclipse中打開,只是沒有從我的實際構建機器所有相關的源文件。
也許愚蠢的問題,但是是類型Executor的getterPool?如果不是,那麼它可能會抱怨,因爲它無法找到一個onPool,它接受任何與「getterPool」匹配的參數類型。 –
@ChrisKessel是的,它是 - 而不是發佈更多的源代碼,我只是編輯注意到Eclipse接受一切建設的罰款。 – djechlin