powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Подключить к проекту Jacob
16 сообщений из 16, страница 1 из 1
Подключить к проекту Jacob
    #38436761
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Хочу использовать в программе ActiveX объекты, пытаюсь подключить Jacob, добавил jacob.jar и jacob-1.17-x86.dll в "...WEB-INF/lib", прописал для jar путь Native library к "jacob-1.17-x86.dll", но в run-time получаю ошибку

java.lang.NoClassDefFoundError: Could not initialize class com.jacob.activeX.ActiveXComponent
at com.waybills.DocxToPdf.<init>(DocxToPdf.java:33)
at com.waybills.WaybillsUI$1.buttonClick(WaybillsUI.java:53)
at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
... 32 more

Скажите, как правильно подключить?
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38436776
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не весь лог. Выше должна быть ошибка подключения DLL.
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38436923
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczЭто не весь лог. Выше должна быть ошибка подключения DLL.
Ошибка подключения была, пока DLL в native library не прописал. Большая просьба, опишите пожалуйста, как подключить
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38436930
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь лог покажите с остальными ошибками, а не только тот обрубок в первом сообщении.
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38436969
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Странно, теперь выдает то, о чем Вы говорили, а именно:

com.vaadin.server.ServerRpcManager$RpcInvocationException: Unable to invoke method click in com.vaadin.shared.ui.button.ButtonServerRpc
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:170)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.communication.ServerRpcHandler.handleBurst(ServerRpcHandler.java:214)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:111)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:91)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1371)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
... 24 more
Caused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method buttonClick in com.waybills.WaybillsUI$1 failed.
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:528)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:167)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:969)
at com.vaadin.ui.Button.fireClick(Button.java:368)
at com.vaadin.ui.Button$1.click(Button.java:57)
... 29 more
Caused by: java.lang.UnsatisfiedLinkError: no jacob-1.17-x86 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.jacob.com.LibraryLoader.loadJacobLibrary(LibraryLoader.java:184)
at com.jacob.com.JacobObject.<clinit>(JacobObject.java:107)
at com.waybills.DocxToPdf.<init>(DocxToPdf.java:33)
at com.waybills.WaybillsUI$1.buttonClick(WaybillsUI.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
... 33 more

Делал следующее - скопировал jacob.jar, jacob-1.17-x86.dll и jacob-1.17-x64.dll в папку "WebContetnt/WEB-INF/lib", затем в eclipse прописал build path, как показано на приложенном screenshot.
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38437002
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
здесь два главных вопроса -
1. Как правильно подключить в среде разработки?
2. Как потом правильно развернуть под tomcat приложение, использующее dll?
Сейчас весь проект упаковываю в war эклипсом и автоматом разворачиваю под tomcat, war включает в себя все внешние зависимости, которые я подключаю к проекту.
P/S/ а нет ли альтернативы (другие библиотеки, которые предпочитаете или рекомендовали бы) работы с ActiveX объектами в Java?
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38437029
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeLorean,

Ну, вот же оснавная ошибка. Про то что не может найти DLL.
java.lang.UnsatisfiedLinkError: no jacob-1.17-x86 in java.library.path
А вы фигню всякую фигню пишете, которая к вопросу размещения DLL не относится
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38437036
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Эклипсом не пользуюсь
2. DLL как, вероятно, и сам Jacob нельзя размещать в .war модуле. Потому что при редеплое модуля, Jacob попытается повторно загрузить DLL, что приведёт к ошибке, если он вдруг не умеет её правильно игнорировать.
Гугл - Tomcat DLL Jacob - куча советов и примеров.
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38437095
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Туго у меня в Java с подключением внешних библиотек. Если не сложно, опишите, как подключить, буду премного благодарен Вам!
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38437170
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avp.mk http://sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1039574&msg=14694142
Код: java
1.
System.setProperty("jacob.dll.path", "D:\\dist\\Java\\Библиотеки\\jacob\\jacob-....dll");
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38437653
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю всех за внимание, но так и не получилось. Добавил путь в classpath, прописал native library в настройках eclipse (в java build path, для jacob.jar), добавил вызов System.setProperty() с указанием пути (как написал avp.mk) для jacob-1.17-x86.dll (для x86-версии JRE), но получаю следующий лог:

com.vaadin.server.ServerRpcManager$RpcInvocationException: Unable to invoke method click in com.vaadin.shared.ui.button.ButtonServerRpc
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:170)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.communication.ServerRpcHandler.handleBurst(ServerRpcHandler.java:214)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:111)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:91)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1371)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
... 24 more
Caused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method buttonClick in com.waybills.WaybillsUI$1 failed.
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:528)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:167)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:969)
at com.vaadin.ui.Button.fireClick(Button.java:368)
at com.vaadin.ui.Button$1.click(Button.java:57)
... 29 more
Caused by: java.lang.NoClassDefFoundError: com/jacob/com/Dispatch
at com.waybills.WaybillsUI$1.buttonClick(WaybillsUI.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
... 33 more
Caused by: java.lang.ClassNotFoundException: com.jacob.com.Dispatch
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 39 more

Падает на вызове new ActiveXComponent(...) . Перерыл весь гугл, даже на китайских сайтах находил похожие проблемы. Как же его подключить?
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38437807
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл добавить, в системную переменную PATH добавил путь к библиотеке. Очень прошу помощи
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38438918
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
at com.vaadin.ui.Button$1.click(Button.java:57)
... 29 more
Caused by: java.lang.NoClassDefFoundError: com/jacob/com/Dispatch
at com.waybills.WaybillsUI$1.buttonClick(WaybillsUI.java:38)
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38439907
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Списибо всем!
Разобрался, проект в Эклипс заработал. Но после равертывания проекта на сервере (разумеется, с указанием нового пути к dll) перестал работать и в логах томкат выдает:

Caused by: java.lang.IllegalStateException: getDispatch() only legal on Variants of type VariantDispatch, not 0
at com.jacob.com.Variant.getDispatch(Variant.java:501)
at com.waybills.DocToPdf.openDoc(DocToPdf.java:59)
at com.waybills.WaybillsUI$1.buttonClick(WaybillsUI.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
... 33 more

Вот строки кода, на которых падает:
Код: java
1.
2.
Variant var = Dispatch.call(disp, "Open", docName);
Dispatch activeDoc = var.getDispatch();


Под Эклипсом работает, getDispatch() используется для работы с ActiveX объектами и обращениям к ним, вызову их методов и т. д.
jacob.jar подключен, путь к jacob-1.17-x64.dll прописан. В чем моя ошибка?
Спасибо!
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38440045
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка не связана с Java - это какая-то особенность работы с COM/DCOM серверами в последних версиях Windows. Пишут, что нужно настроить для DCOM inetractive mode http://sourceforge.net/p/jacob-project/bugs/86/ . Не пойму, как это сделать, люди, поясните Бога ради, кто сталкивался с этой проблемой! Спасибо!
...
Рейтинг: 0 / 0
Подключить к проекту Jacob
    #38440211
DeLorean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeLorean,
Разобрался, вот линк .
Всем большое спасибо!
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Подключить к проекту Jacob
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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