Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Непонятная ошибка / 2 сообщений из 2, страница 1 из 1
02.02.2013, 19:43:35
    #38134908
Nutz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная ошибка
Вот такой код, на одной машине работает:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
package com.radbit.util;
  
public class AnExample {
      
    AnExample() { start = 0; stop = 0; }
    // static initialization block	
    static { System.loadLibrary( "hrestime" ); 	}
  
    //native methods are declare in DLL hrestime.dll
    public native String getGreeting( String greeting ); 
    public native Long getPerformanceFrequency();
    public native long getPerformanceCounter();
  	
    public void setStartTime( long a ) {
        start = a;
    }
  	
    public void setStopTime( long b ) {
	stop = b;
    }
  	
    public double getElapsedTime() {
	return (double)(stop - start) / getPerformanceFrequency().doubleValue();
    }
  	
    public static void main ( String[] args ) {
        AnExample ex = new AnExample();
  	
        System.out.println();
        System.out.println( ex.getGreeting( "Hello from Java" ) );
  		
        ex.setStartTime( ex.getPerformanceCounter() );
        for ( int i = 0; i < 1000000; i++ ) {} // kill some time
        ex.setStopTime( ex.getPerformanceCounter() );
  	
        System.out.println( "Elapsed time: " + ex.getElapsedTime() );
    }
  	
    private long start;
    private long stop;
  	
}



На моей домашней выдает ошибку:

C:\Projects\JNI>java -classpath C:\Projects\JNI AnExample
Exception in thread "main" java.lang.NoClassDefFoundError: AnExample (wrong name: com/radbit/util/AnExample)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)


Все пути одинаковые на обоих машинах
...
Рейтинг: 0 / 0
03.02.2013, 10:15:45
    #38135134
rfq
rfq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятная ошибка
Nutz,

при вызове надо указывать полное имя класса:
Код: java
1.
java -classpath C:\Projects\JNI com.radbit.util.AnExample


Но поскольку у вас файл AnExample.class был найден непосредственно в директории C:\Projects\JNI, то надо сделать еще одно исправление: разместить его в директории C:\Projects\JNI\com\radbit\util.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Непонятная ошибка / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]