|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
||
Помогите С Чтением Стэка, Пож-та...18.03.2012, 17:55. Показов 20347. Ответов 29
Метки нет (Все метки)
Доброго времени суток...
Надо было нам сделать popup меню для лотуса на основе Java, из-за ее кроссплатформенности. Только Windows есть, но этого мало. Сделал класс на Java, все работает через Eclipse, вставил данный класс в лотус библиотеку, которую положил в базу. Сделал класс-прослойку на лотусе, который написан на LS с использываением обращений к Java, что и есть LS2J. Сделал кнопку во вьюшке, на которую повесил создание класса и вызов метода Show. Ошибка при нажатии на кнопку:
Код (Java): at java.security.AccessController[/URL].checkPermission(AccessController[/URL].java:108) at java.lang.SecurityManager[/URL].checkPermission(SecurityManager[/URL].java:544) at COM.ibm.JEmpower.applet.AppletSecurity.s uperDotCheckPermission(AppletSecurity.ja va:1449) at COM.ibm.JEmpower.applet.AppletSecurity.c heckAWTPermission(AppletSecurity.java:11 91) at COM.ibm.JEmpower.applet.AppletSecurity.c heckPermission(AppletSecurity.java:1605) at COM.ibm.JEmpower.applet.AppletSecurity.c heckPermission(AppletSecurity.java:1464) at java.awt.MouseInfo.getPointerInfo(MouseI nfo.java:73) at menu.Show(menu.java:144) at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method[/URL]) at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav a:37) at java.lang.reflect.Method[/URL].invoke(Method[/URL].java:611) at lotus.domino.JavaConnectInvoker.invoke(U nknown Source) at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method[/URL]) at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav a:37) at java.lang.reflect.Method[/URL].invoke(Method[/URL].java:611) at lotus.domino.JavaConnectLoader.invoke(Un known Source) Я так понимаю, что ошибка происходит при получении координат указателя мыши. У меня это в классе есть, из eclipsa работает, что полагаю совершенно нормально... по этой строке: at menu.Show(menu.java:144) вызывается: Код (Java): Point[/URL] location = MouseInfo.getPointerInfo().getLocation() ; Как мне прописать "доверенность" этому методу для лотуса? И как мне правильно сделать вызов метода через LS2J? сейчас я использую Invoke, для предварительно полученного метода.
0
|
||
| 18.03.2012, 17:55 | |
|
Ответы с готовыми решениями:
29
Строки!! Помогите,пож-та!
|
|
0 / 0 / 0
Регистрация: 26.06.2006
Сообщений: 143
|
|
| 19.03.2012, 13:05 | |
|
Привет, тебе надо добавить разрешение на данный метод в java.policy.
Ознакомься с этим: IBM Technote: Security exceptions are encountered when developing Java agents Если захочешь изучить более подробно, то почитай про модель безопасности в Java: Java - Security and Permissions Кстати, вопрос знатокам. В Лотусе есть два файла java.policy: 1. {notes.home}\java.policy 2. {notes.home}\jvm\lib\security\java.polic y По идее тот, который в jvm\lib\security - это системный файл (а ля общие настройки), а который в корне лотусовой директории - пользовательские разрешения. Вопрос, загружаются ли по умолчанию пользовательские разрешения при старте клиента, или надо чтобы обязательно в командной строке (в свойствах ярлыка, запускающего клиент) было указано ...java.policy=${notes.home}/java.policy?
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 19.03.2012, 13:34 | |
|
как оно ругаецо так и...
добавить в секцию grant java.awt.AWTPermission watchMousePointer где искать Кирилл Шваб ответил
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 20.03.2012, 09:49 | |
|
Так и думал, но не знал где именно прописать.
Спасибо, помогло. Кирилл Шваб: Судя из содержания файла 1. {notes.home}\java.policy там прописываются разрешения только для eclipse плагина, а все остальные прописаны в 2. {notes.home}\jvm\lib\security\java.polic y. Предполагаю, что пользовательский файл не даст сильного эффекта, но я в этом деле новичок могу ошибаться.
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 12.05.2015, 16:50 | |
|
Создание файла по пути, с содержанием как в java.policy + свои модификации, решает проблему разрешений.
После апдейта не затирается, разворачивать гораздо удобнее на клиентах. ${user.home}/.java.policy Имя файла именно такое, с точкой вначале
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 17.05.2015, 14:08 | |
|
user.home - этож реальный профайл пользователя, нотусня туды смотрит?
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 17.05.2015, 14:12 | |
|
@lmike, проверил на 7-ке и MacOS.
Как показала практика - смотрит, [URL="https://www-304.ibm.com/support/docview.wss?uid=swg21679242"]https://www-304.ibm.com/support/docview.wss?uid=swg21679242[/NICK] Кстати, знаю есть переменная в notes.ini для указания java классов пользователя. Если их так же развернуть в "профайл" и затем прописать в ini пути, то возможно тоже будет работать, но пока еще не проверял.
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
||
| 25.05.2015, 10:11 | ||
Если в ${user.home}/ создать папку и положить туда jar, затем прописать в Notes.ini путь к этой папке, то все jar подгрузятся в лотус. Я делал так: сделал папку LotusJavaLibs, полный путь: ${user.home}/LotusJavaLibs Сделал 2 записи в notes.ini: XOM_JAR_DIR=C:\Users\dcs-alesh\LotusJavaLibs\xom-1.2.10.jar JavaUserClassesExt=XOM_JAR_DIR Перезагрузил клиента Библиотеки подтянулись. Почему я использовал JavaUserClassesExt вместо JavaUserClasses? Чтобы стандартный путь к \java\lib\ext не терялся Так же зачем писать отдельно путь к JAR? Потому что длина сроки в ini ограничена, а путем отдельных переменных можно писать сразу несколько пакетов: Пример: XOM_JAR_DIR=C:\Users\dcs-alesh\LotusJavaLibs\xom-1.2.10.jar JXL_JAR_DIR=C:\Users\dcs-alesh\LotusJavaLibs\jxl.jar JavaUserClassesExt=XOM_JAR_DIR; JXL_JAR_DIR На *nix разделитель будет : а не ; Минус использования JavaUserClassesExt : необходимо указывать путь и имя jar иначе не сработает (по крайней мере я не смог найти решение) С другой стороны очень удобно проверять версии пакетов. Еще минус такой конструкции: нельзя задать путь к профайлу через системную переменную:( на Win вот так не сработало: JXL_JAR_DIR=%UserProfile%\LotusJavaLibs\ jxl.jar Что логично, платформа может быть разной... Надо указывать полный путь. Но, опять же, можно задать переменную в ini и так же её использовать. (простите не проверял, но думаю что работает) Итого: 1. Можно разворачивать пакеты jar на клиентах, помещая их в папку в профайле пользователя. Доступ на запись в папку есть всегда. 2. Можно менять разрешение для выполнения java кода, опять же создавая/копируя файл в профайл пользователя 3. Можно отслеживать версии пакетов. 4. Написать Java агент для развертывания очень просто. 5. ... 6. PROFIT!!!
0
|
||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 25.05.2015, 11:27 | ||
и все-таки я склоняюсь к использование плагинов, но пока еще не занялся
0
|
||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
||
| 23.06.2015, 10:05 | ||
Сначала свалил на FP4, который накатил поверх FP3 Сейчас поставил чистый клиент - аналогично, не подтянулись библиотеки. Что происходит?
0
|
||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 23.06.2015, 10:15 | |
|
Еще фишка, поставил на чистого клиента FP4 - папку jvm снесло подчистую
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
|
||
| 23.06.2015, 10:46 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 23.06.2015, 12:54 | |
|
@garrick,
Со второго раза встал нормально. хм.. как проверить версию? я пока нашел только: .SpoilerTarget">Спойлер: info java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows 7 x86-32 jvmwi3260sr16fp4-20150406_242976 (JIT enabled, AOT enabled) J9VM - 20150406_242976 JIT - r9_20150402_88984 GC - GA24_Java6_SR16_20150406_1410_B242976 java.vm.info=JRE 1.6.0 IBM J9 2.4 Windows 7 x86-32 jvmwi3260sr16fp4-20150406_242976 (JIT enabled, AOT enabled) J9VM - 20150406_242976 JIT - r9_20150402_88984 GC - GA24_Java6_SR16_20150406_1410_B242976 java.runtime.version=pwi3260sr16fp4-20150414_01 (SR16 FP4) --- Добавлено 24 июн 2015. Первое сообщение размещено 24 июн 2015 --- а настройка JavaUserClassesExt так и не заработала
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
|
|||||||
| 23.06.2015, 13:34 | |||||||
Вот правильный вариант.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 24.06.2015, 10:12 | |
|
Кто-нибудь может помочь по поводу JavaUserClassesExt и JavaUserClasses?
У меня не работает ни одна из настроек. В чем может быть дело? --- Добавлено 25 июн 2015. Первое сообщение размещено 25 июн 2015 --- Может я не один такой и это отключили?
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 24.06.2015, 12:47 | ||
у виндядки нек каталоги не совсем каталоги ;), что может воспринимается не правильно сторонними приложениями причем они это ломают от версии винды (патчи) --- Добавлено 25 июн 2015. Первое сообщение размещено 25 июн 2015 --- + может оказаться что ини файл берется не тот, кот. правишь ;) (тоже из-за виндяткиных закидонов, с виртуалсторадж)
0
|
||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 24.06.2015, 14:03 | |
|
@lmike, ini тот, это проверил.
на этот каталог есть доступ - могу туда писать и читать оттуда. Если менять на C:\Java\ тоже не фурычит... будто отключили настройку.
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||||
| 24.06.2015, 15:02 | ||||
читать чере проводник - это не = читать и из программы
может в java секурити что-то случилось? --- Добавлено 25 июн 2015. Первое сообщение размещено 25 июн 2015 --- в консоле жвм есть что-то странное? кроме как не нашла класс... --- Добавлено 25 июн 2015 --- ну и еще момент - если на др. компе и с др. версией нотусни? --- Добавлено 25 июн 2015 ---
0
|
||||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|||
| 24.06.2015, 15:13 | |||
Проверял через ProcessExplorer - библиотеки не загружены, хэндлов нет.
0
|
|||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 24.06.2015, 16:16 | |
|
0
|
|
| 24.06.2015, 16:16 | |
|
Помогаю со студенческими работами здесь
20
помогите пож-та написать программу помогите с задачами по термеху пож-та... Помогите составить Блок - схему. Пож. Помогите, пож., правильно составить процедурку
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|