Это проект Maven (как и другие зависимости).
Я использую Java 1.8, когда генерирует jar, потому что у меня есть база данных Oracle 19c с той же версией Java.
Чего я хочу:
Я просто хочу иметь возможность запускать Java приложение в базе данных Oracle.
Что я пробовал::
- Я успешно удалось запустить приложение в среде Windows, экспортировав проект в Runnable jar.
- Я пытался импортировать этот jar в базу данных Oracle с помощью loadjava код> инструмент:
Код: Выделить всё
loadjava -user user/password@db OPCUA.jar
Ошибка при создании класса META-INF/versions/9/module-info
ORA-29509: неправильно построено бинарное определение класса Java ORA-06512: в строке 1
Ошибка при создании информации о модуле класса
ORA-29509: неправильно построено бинарное определение класса Java ORA-06512: в строке 1
Не удалось выполнить следующие операции
class META- INF/versions/9/module-info: создание (createFailed)
класс Module-info: создание (createFailed) выход: во время обработки произошли сбои
< ol start="3">
[*]После этого я исключил информацию о модуле и META-INF из сборки maven, добавив необходимый код в pom.xml ([https://stackoverflow.com/questions/46959965/maven -exclude-meta-inf-maven-folder-from-jar/46960549#46960549][]) однако это не помогло.
[*]После этого я изменил способ создания JAR-файлов в Eclipse с Извлечь необходимые библиотеки в сгенерированный Jar, чтобы упаковать необходимые библиотеки в сгенерированный Jar
Я пытался импортировать их с помощью инструмента loadjava, но получил множество исключений< /li>
Ошибка при определении классов, содержащихся в
org/eclipse/milo/opcua/stack/core/serialization/binary /BinaryDecoderTest.java
Исключение oracle.aurora.sqljdecl.ParseException: обнаружен «@» в
строке 40, столбце 9.
Ошибка при определении классов, содержащихся вorg/eclipse/milo/opcua/stack/core/util/TaskQueue.java Exception
oracle.aurora.sqljdecl.ParseException: обнаружено «по умолчанию» в строке
343, столбец
Ошибка при определении классов, содержащихся в
org/eclipse/milo/opcua/stack/core/types/DataTypeEncoding.java
Исключение oracle.aurora.sqljdecl.ParseException: обнаружено «по умолчанию» "
в строке 39, столбец
Ошибка при определении классов, содержащихся в
org/eclipse/milo/opcua/stack/core/types/OpcUaDefaultBinaryEncoding.java
Исключение oracle.aurora.sqljdecl.ParseException: обнаружен «@» в
строке 61, столбце 13.
Ошибка при определении классов, содержащихся в
org/eclipse /milo/opcua/stack/core/types/DataTypeDictionary.java
Исключение oracle.aurora.sqljdecl.ParseException: обнаружено «по умолчанию»
в строке 97, столбец
и так далее, и так далее... ошибка повторяется, но причина та же...
Как выглядит приложение :
Код: Выделить всё
package OPCUA.ORACLE;
import org.eclipse.milo.opcua.sdk.client.OpcUaClient;
import org.eclipse.milo.opcua.sdk.client.api.UaClient;
import org.eclipse.milo.opcua.sdk.client.nodes.UaVariableNode;
import org.eclipse.milo.opcua.stack.core.Identifiers;
import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
import org.eclipse.milo.opcua.stack.core.types.builtin.LocalizedText;
import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId;
import static org.eclipse.milo.opcua.stack.core.types.builtin.unsigned.Unsigned.uint;
import java.util.concurrent.CompletableFuture;
public class OPCUA {
public static void main(String[] args) {
try {
// Create OPC UA client
OpcUaClient client=OpcUaClient.create(
"opc.tcp://127.0.0.1:62541/milo",
endpoints ->
endpoints.stream()
.findFirst(),
configBuilder ->
configBuilder
.setApplicationName(LocalizedText.english("eclipse milo opc-ua client"))
.setApplicationUri("urn:eclipse:milo:examples:client")
.setRequestTimeout(uint(5000))
.build()
);
// Connect to the server
CompletableFuture future = client.connect();
UaClient connectedClient = future.get();
System.out.println("Connected to the OPC UA server.");
// Read a value from a variable node
NodeId nodeId = Identifiers.Server_ServerStatus_CurrentTime;
UaVariableNode variableNode = connectedClient.getAddressSpace().getVariableNode(nodeId);
DataValue value = variableNode.readValue();
System.out.println("Value: " + value.getValue().getValue());
// Disconnect the client
client.disconnect().get();
System.out.println("Disconnected from the OPC UA server.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Я бы Хочу спросить вас, знаете ли вы, что я делаю неправильно, что мешает мне загрузить JAR в базу данных Oracle и запустить его.
Подробнее здесь: https://stackoverflow.com/questions/786 ... pendencies
Мобильная версия