Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/109: Рейтинг темы: голосов - 109, средняя оценка - 4.80
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.security.AccessControlException: Access denied (java.awt.AWTPermission watchMousePointer)


Код (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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.03.2012, 17:55
Ответы с готовыми решениями:

помогите пож-ста
Даны два одномерных массива произвольных чисел.Определить в каком из них минимальный элемент больше.Вывести найденный элемент и...

Строки!! Помогите,пож-та!
Дана строка ,записать ее содержимое в другую строку,повторив ее при этом 3 раза. Подсчитать количество строчных букв в ней. _______ ...

Пож. помогите по записям!!!
Помогите кто может, ПЛЗ. нужно составить прогу которая определяет банк, в котором максимальное количество клиентов БУДУ благодарен,...

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
Цитата Сообщение от savl
Если их так же развернуть в "профайл" и затем прописать в ini пути, то возможно тоже будет работать, но пока еще не проверял.
@lmike, проверил
Если в ${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
Цитата Сообщение от savl
XOM_JAR_DIR=C:\Users\dcs-alesh\LotusJavaLibs\xom-1.2.10.jar
JavaUserClassesExt=XOM_JAR_DIR
я этим давно пользовался, но указание jar меня коробит...

и все-таки я склоняюсь к использование плагинов, но пока еще не занялся
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
23.06.2015, 10:05
Цитата Сообщение от lmike
JavaUserClassesExt=XOM_JAR_DIR
У меня перестала работать эта настройка...
Сначала свалил на 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
Цитата Сообщение от savl
Еще фишка, поставил на чистого клиента FP4 - папку jvm снесло подчистую
Что-то где-то покривилось, такого быть не должно, JVM обновляется, но не удаляется совсем. Видать в процессе обновления JVM что-то сломалось. После FP4 Java становится 1.8.0_45.
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
Цитата Сообщение от savl
@garrick,
хм.. как проверить версию?
Обманул. У меня на java -version не та Java отозвалась. :(
Вот правильный вариант.


Code
1
2
3
4
5
6
7
java version "1.6.0"
Java(TM) SE Runtime Environment (build pwi3260sr16fp4-20150414_01(SR16 FP4))
IBM J9 VM (build 2.4, 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)
JCL - 20150413_01
Но так даже и лучше, а то ломай потом голову будет оно работать на 8.5 или нет.
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
Цитата Сообщение от savl
В чем может быть дело?
м.б. в доступе к нек. частям винды
у виндядки нек каталоги не совсем каталоги ;), что может воспринимается не правильно сторонними приложениями
причем они это ломают от версии винды (патчи)


--- Добавлено 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
Цитата Сообщение от savl
могу туда писать и читать оттуда
пользователь - это не программа
читать чере проводник - это не = читать и из программы



Цитата Сообщение от savl
Если менять на C:\Java\ тоже не фурычит... будто отключили настройку.
а это уже странно
может в java секурити что-то случилось?


--- Добавлено 25 июн 2015. Первое сообщение размещено 25 июн 2015 ---

в консоле жвм есть что-то странное? кроме как не нашла класс...


--- Добавлено 25 июн 2015 ---

ну и еще момент - если на др. компе и с др. версией нотусни?


--- Добавлено 25 июн 2015 ---




Цитата Сообщение от savl
Сейчас поставил чистый клиент - аналогично, не подтянулись библиотеки.
это в рантайме не работает или и в сборке проекта? Может пересобрать?
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
24.06.2015, 15:13
Цитата Сообщение от lmike
это в рантайме не работает или и в сборке проекта?
Итак и эдак, файлов не видит.
Проверял через ProcessExplorer - библиотеки не загружены, хэндлов нет.



Цитата Сообщение от lmike
может в java секурити что-то случилось
в FP4 что-то включено было, но на чистом 901 тоже не заработала переменная.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
24.06.2015, 16:16
http://image.slidesharecdn.com/domi...and-whats-the-future-91-638.jpg?cb=1434565605
во еще чего
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2015, 16:16
Помогаю со студенческими работами здесь

помогите пож-та написать программу
2005/4 - проверьте, не является ли слово "кас" корнем слова без приставки. - Отделите в слове повторяющиеся более двух раз буквы...

помогите с задачами по термеху пож-та...
не понимаю куда направлены относительные и переносные скорости и ускорения. Во второй задаче нужно найти АБСОЛЮТНЫЕ скорости и ускорения...

Помогите составить Блок - схему. Пож.
Обработка строковых даных. program srs_7; uses crt; var s,s1,s2:string; n,i,j,f:integer; begin clrscr; readln(s); for i:=1...

Помогите, пож., правильно составить процедурку
Здравствуйте! Помогите, пож., правильно составить процедурку. У меня есть таблица, в которой имеется поле Name (Имя),...

Помогите блок-схему на прогу замутить пож!
Условие на файлы:Дан файл целых чисел с элементами А (i), i=0,…, N-1 (N- размер файла). Заменить исходное расположение его элементов на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
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-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru