Проблема в том, что я получаю "org.osgi.framework .BundleException: не удалось разрешить модуль: org.bsfinternational.dashboard [1147]_ Неразрешенное требование: Import-Package: com.azure.core.credential_ [Sanitized]"
Обычно мне удавалось решить эту проблему, дважды проверив записи build.gradle, чтобы убедиться, что я учел зависимости. Вот что у меня есть:
// Ядро Azure
реализация 'com.azure:azure-core:1.43.0'
реализация 'com.azure:azure-core-http-netty:1.15.0'
// Включение пакета SDK в качестве зависимости
реализация 'com.microsoft.graph:microsoft-graph:5.57.0'
реализация 'com.microsoft.graph:microsoft-graph-auth:0.3.0'
// Включить удостоверение Azure для проверки подлинности.
реализация 'com.azure:azure-identity:1.9.0'
Я мог бы опубликуйте код, но это не кажется это проблема с кодом, потому что код компилируется. Сборка прошла успешно в Gradle. Когда я развертываю OSGI, выдается ошибка сбоя зависимости. Я дважды проверял зависимости несколько раз. Я попытался исключить некоторые пакеты из файла bnd.bnd проекта. Кажется, ничего не работает. Я предполагаю, что мне не хватает какой-то транзитивной зависимости, но я не могу найти никакой документации, указывающей на необходимость другой библиотеки. Я пробовал разные версии библиотек, включал и опускал их. Я могу скомпилировать код, но не могу его развернуть. Я новичок в API Graph, но API выглядит довольно просто.
Оболочка GoGo в Liferay бесполезна. Он говорит мне именно то, что говорит мне развертывание: «Нерешенное требование». Я пытался найти лучший способ понять дерево зависимостей, но, судя по тому, что я прочитал, мне не хватает каких-либо необходимых зависимостей. Я уже сталкивался с этой проблемой в других проектах Liferay, но всегда мог методом проб и ошибок выяснить, чего не хватает. На этот раз не повезло.
Любые идеи на этом этапе будут полезны. Спасибо.
Пример кода здесь:
Код: Выделить всё
public static int sendExchangeEmail(String fromName, String fromAddress, String toAddress, String toName, String subject, String emailbody, String replyT, boolean htmlFormat)
throws SystemException
{
int messageID = 0;
String clientId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
String clientSecret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";
String tenantId ="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
// Create credentials
ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder().clientId(clientId).clientSecret(clientSecret).tenantId(tenantId).build();
// Initialize authentication provider and Graph client
final TokenCredentialAuthProvider authProvider = new TokenCredentialAuthProvider(clientSecretCredential);
final GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider(authProvider).buildClient();
// Construct the email message
com.microsoft.graph.models.Message message = new com.microsoft.graph.models.Message();
message.subject = subject;
ItemBody body = new ItemBody();
body.contentType = BodyType.TEXT;
body.content = emailbody;
message.body = body;
LinkedList toRecipients = new LinkedList();
Recipient recipient = new Recipient();
EmailAddress emailAddress = new EmailAddress();
emailAddress.address = "[email protected]";
emailAddress.name = toName;
recipient.emailAddress = emailAddress;
toRecipients.add(recipient);
message.toRecipients = toRecipients;
Recipient from = new Recipient();
from.emailAddress = new EmailAddress();
from.emailAddress.address = fromAddress;
from.emailAddress.name = fromName;
message.from = from;
LinkedList replyToRecipients = new LinkedList();
Recipient replyTo = new Recipient();
replyTo.emailAddress = new EmailAddress();
replyTo.emailAddress.address = replyT;
replyToRecipients.add(replyTo);
message.replyTo = replyToRecipients;
// Create the parameter set
UserSendMailParameterSet parameterSet = new UserSendMailParameterSet().newBuilder().withMessage(message).withSaveToSentItems(false).build();
// Don't save to Sent Items folder
// Send the email
try {
graphClient.me().sendMail(parameterSet).buildRequest().post();
System.out.println("Email sent successfully!");
} catch (Exception e) {
e.printStackTrace();
System.err.println("Error sending email: " + e.getMessage());
}
return messageID;
}
Код: Выделить всё
import com.azure.identity.ClientSecretCredential;
import com.azure.identity.ClientSecretCredentialBuilder;
import com.microsoft.graph.models.*;
import com.microsoft.graph.models.UserSendMailParameterSet;
import com.microsoft.graph.models.BodyType;
import com.microsoft.graph.models.ItemBody;
import com.microsoft.graph.requests.GraphServiceClient;
import com.microsoft.graph.authentication.TokenCredentialAuthProvider;
Подробнее здесь: https://stackoverflow.com/questions/792 ... dependency