|
11 / 11 / 0
Регистрация: 13.10.2012
Сообщений: 163
|
|||||||||||
Запуска приложения реализующего динамическую загрузку классов в терминале22.09.2014, 10:17. Показов 887. Ответов 3
Метки нет (Все метки)
Приложение представляет плагино-модульную архитектуру. То есть во время работы выполняется динамическая загрузка классов. Для этого используется пользовательский загрузчик классов расширяющий ClassLoader.
Суть проблемы такова, что в среде Eclipse приложение удается запускать, в то время как в терминале (ubuntu) при использовании следующей строчки кода (где катало "m/" указывает на расположение модулей *.class):
Кликните здесь для просмотра всего текста
10:07:24,085 DEBUG main CModuleLoader:findClass:39 - Run of the System Classloader.
Exception in thread "main" java.lang.reflect.InvocationTargetExcept ion at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav a:43) at java.lang.reflect.Method.invoke(Method.j ava:606) at org.eclipse.jdt.internal.jarinjarloader. JarRsrcLoader.main(JarRsrcLoader.java:58 ) Caused by: java.lang.NoClassDefFoundError: ru/intetech/module/CModule at java.lang.ClassLoader.defineClass1(Nativ e Method) at java.lang.ClassLoader.defineClass(ClassL oader.java:800) at java.lang.ClassLoader.defineClass(ClassL oader.java:643) at ru.intetech.moduleloader.CModuleLoader.f indClass(CModuleLoader.java:35) at java.lang.ClassLoader.loadClass(ClassLoa der.java:425) at java.lang.ClassLoader.loadClass(ClassLoa der.java:358) at ru.intetech.modularApp.Main.main(Main.ja va:42) ... 5 more Caused by: java.lang.ClassNotFoundException: ru.intetech.module.CModule at java.lang.ClassLoader.findClass(ClassLoa der.java:531) at ru.intetech.moduleloader.CModuleLoader.f indClass(CModuleLoader.java:40) at java.lang.ClassLoader.loadClass(ClassLoa der.java:425) at java.lang.ClassLoader.loadClass(ClassLoa der.java:358) ... 12 more Вот фрагмент кода, класса пользовательского загрузчика (расширяющего ClassLoader), где возникает ошибка: Кликните здесь для просмотра всего текста
В чем может крыться проблема? JRE не может вызвать один из загрузчиков классов... ? P.S. Загрузик реализовывал на основе данной статьи: http://habrahabr.ru/post/104229/
0
|
|||||||||||
| 22.09.2014, 10:17 | |
|
Ответы с готовыми решениями:
3
Разработка приложения реализующего задачу перебора с возвратом Пытаюсь сделать динамическую загрузку dll. Dll-библиотека не подает признаков жизни Запуск приложения в терминале |
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|||
| 22.09.2014, 20:31 | |||
|
скорее всего Вы не правильно подключаете модуль и поэтому java его не видит - ClassNotFoundException Посмотрите на командную строку, которую запускает Eclipse и добавьте опции, которые добавляет Eclipse себе
0
|
|||
|
11 / 11 / 0
Регистрация: 13.10.2012
Сообщений: 163
|
||||||||
| 23.09.2014, 08:46 [ТС] | ||||||||
|
Кликните здесь для просмотра всего текста
Добавленная строка кода:
15:55:39,634 DEBUG main Main:main:36 - Load file: CModulePrinter2.class 15:55:39,637 DEBUG main CModuleLoader:findClass:34 - #Path: m/CModulePrinter2.class 15:55:39,637 DEBUG main CModuleLoader:findClass:34 - #Path: m/ru.intetech.module.CModule.class 15:55:39,638 DEBUG main CModuleLoader:findClass:40 - Run of the System Classloader.
0
|
||||||||
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 23.09.2014, 09:56 | |
|
yol, я не пользуюсь эклипсом и не могу сказать как в нем посмотреть.
0
|
|
| 23.09.2014, 09:56 | |
|
Помогаю со студенческими работами здесь
4
Скрипт запуска приложения Блокировка запуска приложения Порядок запуска приложения Параметры запуска приложения Ошибка запуска приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|