Среда выполнения Java неправильно форматирует аргументы python

#java #python #spring-boot

#java #python #весенняя загрузка

Вопрос:

 private static void sendEmailGeneric(String titleMessage, String textMessage, String email, String subject, List<HashMap<String, String>> attachmentPaths) {
        /*F
         * Attachment tiene la siguiente estructura:
         * List -> HashMap({ file_path: string, file_title: string })
         * */
        ArrayList<String> attachmentList = new ArrayList<>();
        for (HashMap<String, String> attachmentPath : attachmentPaths) {
            attachmentList.add(attachmentPath.get("file_title").concat(":").concat(attachmentPath.get("file_path")));
        }
        LOGGER.info("Adjuntando ".concat(attachmentList.toString()));
        String mailerPath = new File("/opt/sintesis/api/mailer/mailer.py").getAbsolutePath();
        String[] builder = {"python3",
                mailerPath,
                """.concat(email).concat("""),
                """.concat(subject).concat("""),
                """.concat(titleMessage).concat("""),
                """.concat(textMessage).concat("""),
                """.concat(attachmentList.toString().replace("[", "").replace("]", "")).concat(""")};
        try {
            Runtime.getRuntime().exec(builder);
            LOGGER.info("Ejecutando mailer ".concat(builder.toString()));
        } catch (Exception e) {
            LOGGER.error(e.getMessage());
            LOGGER.error("Ha sucedido un error al enviar el correo a ".concat(email).concat(", con asunto: ").concat(subject));
        }
    }
 

У меня есть этот код, который вызывает скрипт python, проблема в том, что параметры отображаются некорректно

 python3 mailer.py mymail@mail.com "This is a test" "Subuject" "Message" "index:index.html,dna.pdf"
 

Где символ » не отформатирован в java и удаляется. Итак, что я делаю неправильно, потому что я пробую много вещей, и ничего не работает.

При отправке сообщения заголовок сообщения в почте показывает мне, что «Это заголовок, а сообщение является

Поэтому я предполагаю, что проблема в синтаксическом анализаторе Java или в чем-то подобном.

Комментарии:

1. Вы уверены, что у вас есть кавычки? Оболочка не задействована, разделение слов не происходит.

2. Я пытаюсь без кавычек, скрипт не сработал. Дело в том, что сообщения будут очень длинными «длинные длинные длинные длинные слова» «другое длинное слово» «длинный путь к файлам», поэтому мне нужны кавычки для разделения аргументов. Я пытаюсь с помощью process builder и та же ошибка с аргументами без »