2013-02-10 9 views
10

Ho inserito questo comando nel prompt dei comandi e non sono sicuro del motivo per cui sta dicendo che non è un nome di classe valido considerando che ha la posizione sul disco e il nome completo della classe. Java - versione funziona e sto utilizzando l'ultima versione di JVM con JDK, anche CLASSPATH è configurato correttamente.Il comando Javah per i metodi nativi fornisce Eccezione

La classe è questa:

package JNI; 

public class Main { 

public native void printTitle(); 

public static void main(String[] args) { 
    Main main = new Main(); 
    main.print(); 
} 

public void print(){ 
    System.out.println("The print subroutine has finished."); 
} 

E gli argomenti della riga di comando sono:

C:\Users\USER\Documents\NetBeansProjects\JNI Test Project\build\classes\JNI>javah -jni -classpath "C:\Users\USER\Documents\NetBeansProjects\JNI Test Project\build\classes\JNI" JNI.Main.class 
Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class name: JNI.Main.class 
    at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:177) 
    at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:68) 
    at com.sun.tools.javah.JavahTask.run(JavahTask.java:509) 
    at com.sun.tools.javah.JavahTask.run(JavahTask.java:335) 
    at com.sun.tools.javah.Main.main(Main.java:46) 
+0

Visto 10.594 volte, per favore apri questa domanda! – User3

risposta

12

classpath dovrebbe puntare alla cartella principale in cui il pacchetto di livello superiore (JNI) va a, per non la cartella in cui si trova fisicamente la classe.

Il nome classe non deve includere l'estensione .class.

Pensateci operando su classi e non su file fisici.

javah -jni -classpath "C:\Users\GETH COMMANDER\Documents\NetBeansProjects\JNI Test Project\build\classes" JNI.Main

Inoltre si dovrebbe seguire Java convenzioni di denominazione e fare i vostri nomi dei pacchetti minuscolo.

+4

Confuso circa il motivo per cui questo thread è chiuso, io sono i "futuri visitatori" e ho ricevuto aiuto da questo thread.^_ ^ – Gearon

Problemi correlati