создам топик для объединения ошибок связанных с обработкой библиотек (java) для платформы
в качестве затравки предлагаю рассмотреть библиотеку ICU
есть такая библиотека
а вот странное поведение её меня смущает...
возможно (я еще не тестил, сейчас - в библиотеке подключена) её надо помещать jvm/lib/ext...
но есть смутные воспоминания (да и по логике) - она уже д.б. в составе ibm jvm
теперь вопрос - как мне использовать именно её, ибо при использовании кода в дизайнере (запуска кода прям в нем) я получаю корректный результата, а вот из клиента (в варианте JS2J и java agent) - результат расстраивает
код
результат в дизайнере (по Run)
[doublepost=1503495315,1503338421][/doublepost]таки положил jvm/lib/ext - и стало работать "правильно"
НО заметил еще одну особенность - LS2J будет работать при отсут. (в jvm/lib/ext) либе (если уже скомпилирована нотусовая библиотека, в присутствии оной), а вот агент - нет
что наводит на прежде высказанную мысль в нотусятине есть эта библиотека, но только лохматой версии
и таки есть в Notes\osgi\rcp\eclipse\plugins
com.ibm.icu.base_3.8.1.v20080530.jar
com.ibm.icu_3.8.1.v20120530.jar
почему отрабатывается путь в LS2J, но не отрабатывается в агенте - вопрос
проверять, оно ли вызывается, не стал
в качестве затравки предлагаю рассмотреть библиотеку ICU
есть такая библиотека
Ссылка скрыта от гостей
а вот странное поведение её меня смущает...
возможно (я еще не тестил, сейчас - в библиотеке подключена) её надо помещать jvm/lib/ext...
но есть смутные воспоминания (да и по логике) - она уже д.б. в составе ibm jvm
теперь вопрос - как мне использовать именно её, ибо при использовании кода в дизайнере (запуска кода прям в нем) я получаю корректный результата, а вот из клиента (в варианте JS2J и java agent) - результат расстраивает
код
Java:
package org.icu.utils;
import java.util.Locale;
import com.ibm.icu.text.*;
//import com.ibm.icu.text.RuleBasedNumberFormat;
public class Conversion {
private static final RuleBasedNumberFormat nf = new RuleBasedNumberFormat(new Locale("ru"),RuleBasedNumberFormat.SPELLOUT);
public static String numberInFull(int num) {
//NumberFormat nf = new RuleBasedNumberFormat(RuleBasedNumberFormat.SPELLOUT);
String result = nf.format(num);
System.out.println(result);
return result;
}
public static String numberInFull(String snum) {
int num=new Integer(snum);
String result = nf.format(num);
result = nf.format(num);
System.out.println(result);
return result;
}
public static void main(String[] args) {
numberInFull(12342);
numberInFull("42342");
}
}
в клиентедвенадцать тысяч триста сорок два
сорок две тысячи триста сорок два
код агента (LS2J дает все тоже)двеннадцать тысяча три сто сорок два
сорок два тысяча три сто сорок два
Java:
import lotus.domino.*;
import org.icu.utils.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
Conversion.main(new String[]{""});
} catch(Exception e) {
e.printStackTrace();
}
}
}
НО заметил еще одну особенность - LS2J будет работать при отсут. (в jvm/lib/ext) либе (если уже скомпилирована нотусовая библиотека, в присутствии оной), а вот агент - нет
что наводит на прежде высказанную мысль в нотусятине есть эта библиотека, но только лохматой версии
и таки есть в Notes\osgi\rcp\eclipse\plugins
com.ibm.icu.base_3.8.1.v20080530.jar
com.ibm.icu_3.8.1.v20120530.jar
почему отрабатывается путь в LS2J, но не отрабатывается в агенте - вопрос
проверять, оно ли вызывается, не стал