2011-10-23 88 views
2

我與Java經驗:只讀Java類路徑找不到符號

我在這行代碼:

import com.altova.io.*; 
import com.mapforce.*; 

這些軟件包位於Mapping.jar,這是對我的類路徑,確實它是第一個。的javac -verbose承認這:

[search path for source files: Mapping.jar,.,[etc] 

當編譯器到達用線條,但是:

[loading com/altova/io/Input.class(com/altova/io:Input.class)] 
ShapeTypeFiddle.java:339: cannot find symbol 
symbol : class io 
location: package com.altova 
      com.altova.io.StringInput(sthing.toString()); 
        ^

(+另兩個,一個是MappingMapToinput2Output.run(輸入,輸出),其他是output.getContent()調用。)

解壓縮Mapping.jar文件確實會顯示Input.class,MappingMapToinput2Output.class和Output.class類文件的已編譯的.class文件。

我還能檢查什麼?

回答

2

它正在尋找類io應該有靜態方法StringInput。但你實際上想要創建一個StringInput的實例。這隻能表示您忘記了new操作員。

new com.altova.io.StringInput(sthing.toString()); 
+0

啊,好吧,我現在明白了。它試圖調用StringInput(String)作爲io的靜態方法。接得好。 –

+0

有三個錯誤,它們各有不同(但是,「有幫助」,Java報告相同的錯誤文本...) 1.第一個錯誤是BalusC描述的:缺少「new」關鍵字,所以沒有實例的對象。 2.第二個,有一個新的 - 但它超出了範圍。 3.第三個,...... **永遠不要相信該死的文件**並且*閱讀代碼*。這些文件聲稱有一個getContent()方法。 –

+0

我收集到問題中提出的問題已解決?如果您仍遇到新問題,您可以提出一個新問題。 – BalusC