2012-07-05 112 views
0

我正在嘗試一個JNI示例程序,但無法使javah 工具正常工作。我在C:\ Workspace \ VideoRecorder \ src \ org \ ccb \ wifo \ video \ Nativejni.java中有1個源文件Nativejni.java。 org.ccb.wifo.video是package.I的名字已經編譯並得到了在src directory.And產生頭文件的類文件中我試圖像下面在命令行上沒有指定類

C:\Workaspace\VideoRecorder\bin>javah -jni org.ccb.wifo.video.Nativejni 

但我得到了一個錯誤喜歡 。

**error: cannot access org.ccb.wifo.video.Nativejni 
class file for org.ccb.wifo.video.Nativejni not found 
javadoc: error - Class org.ccb.wifo.video.Nativejni not found. 
Error: No classes were specified on the command line. Try -help.** 

我用Google搜索了很多,並試圖在那裏發現瞭解決方案。但沒用。 請幫幫我。

+0

請提供一些幫助 – user987362

回答

0

可能有很多原因。主要與-classpath有關。如果您不想手動更改類路徑,則可以在控制檯中編譯時執行此操作。

javah -d /dir/where/output/generated -classpath ;<absolute path to the /bin/classes> <package name> 

1)請記住「;」因爲它會將您提供的路徑附加到已經存在的路徑上。 2)小心斜線(Linux = /和Windows =)。

3)我想你明白我的意思是絕對路徑。

0

我就這樣浪費了3個小時。這是由於某種類型的java目錄問題或什麼。反正這是我做到的。

打開命令行。轉到.java類所在的確切文件夾。去那裏執行命令

javac HelloWorld.java 

然後返回到包含完整軟件包的文件夾。在這裏輸入這個語句來從類文件中生成頭文件。該目錄必須像我的情況一樣,整個包在Java目錄文件中,所以我回到那裏並輸入以下命令。

javah -jni com.example.aliabbasjaffri.temporary.HelloWorld 

瞧,頭文件爲您服務。

0

您必須輸入類路徑,請試試這個,

Javah - jni -classpath C:\Workspace\VideoRecorder\src\ org.ccb.wifo.video.Nativejni