У меня есть простая программа (написанная на Java), которая использует буфер протокола google и отлично работает на машине Windows.Буфер протокола Google работает в Windows, но не в linux
Но когда я запускаю его на Linux машине я получаю следующее исключение:
com.google.protobuf.Descriptors$FileDescriptor.internalBuildGeneratedFileFrom(Ljava/lang/String;[Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$FileDescriptor$InternalDescriptorAssigner;
at com.test.integration.protocols.protocolBuffers.messages.TestMsgs.<clinit>(TestMsgs.java:5111)
at com.test.integration.protocols.protocolBuffers.messages.TestMsgs$SessionInfo.<clinit>(TestMsgs.java:3346)
at com.test.integration.protocols.protocolBuffers.messages.TestMsgs$TestRequest.<init>(TestMsgs.java:782)
at com.test.integration.protocols.protocolBuffers.messages.TestMsgs$TestRequest.<clinit>(TestMsgs.java:760)
at com.test.simulators.TestJmsListener.onMessage(TestJmsListener.java:80)
at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1215)
at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131)
at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202)
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Я использую тот же файл банку для буфера протокола в обеих машинах.
Это похоже только на часть сообщения об ошибке. Можете ли вы предоставить полную трассировку стека или, лучше, полную версию своей программы? –
добавлен полный след. Это единственный результат, связанный с проблемой – giorashc
Сообщение об ошибке говорит о дескрипторах файлов. Возможно, в приложении есть некоторые пути к файлам или код обработки пути, например, смешивает косую черту и обратную косую черту или использует абсолютные пути, которые действительны только для одной ОС, но не для других? –