Scala-maven-plugin не может скомпилировать текстовый блок функций Java15+JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Scala-maven-plugin не может скомпилировать текстовый блок функций Java15+

Сообщение Anonymous »

Проект смешанной компиляции Scala и Java, а теперь обновите jdk8->jdk21, используйте текстовый блок Java15+
до:

Код: Выделить всё

String sql = "update hinsight.homeco_user_task set \n" +
"file_path = ?,\n" +
"err_msg = ?,\n" +
"task_stop_time = current_timestamp(),\n" +
"status = ?\n" +
"where task_id = ?";
после:

Код: Выделить всё

String sql = """
update hinsight.homeco_user_task
set file_path = ?,
err_msg = ?,
task_stop_time = current_timestamp(),
status = ?
where task_id = ?""";
выполнить чистую компиляцию mvn

Код: Выделить всё

scala-maven-plugin
не может идентифицировать текстовый блок, например """, и сообщить о незамкнутом строковом литерале

Код: Выделить всё

[INFO] --- scala:4.8.0:compile (scala-compile-first) @ Discovery-M3-Operator-Java ---
[INFO] Compiler bridge file: C:\Users\z00624250\.sbt\1.0\zinc\org.scala-sbt\org.scala-sbt-compiler-bridge_2.12-1.8.0-bin_2.12.20__65.0-1.8.0_20221110T195421.jar
[INFO] compiling 32 Scala sources and 248 Java sources to D:\code\Discovery-M3-Operator-Java\target\classes ...
[ERROR] D:/code/Discovery-M3-Operator-Java/src/main/java/XXXX/ModuleAnalysisOperator.java:26: unclosed string literal
[ERROR] D:/code/Discovery-M3-Operator-Java/src/main/java/XXXX/ModuleAnalysisOperator.java:47: illegal character: 35
[ERROR] D:/code/Discovery-M3-Operator-Java/src/main/java/XXXX/ModuleAnalysisOperator.java:55: unclosed string literal
[ERROR] D:/code/Discovery-M3-Operator-Java/src/main/java/XXXX/ModuleAnalysisOperator.java:78: `;' expected but eof found.
[ERROR] D:/code/Discovery-M3-Operator-Java/src/main/java/XXXX/UploadS3Operator.java:80: unclosed string literal
[ERROR] D:/code/Discovery-M3-Operator-Java/src/main/java/XXXX/UploadS3Operator.java:86: unclosed string literal
[ERROR] 6 errors found
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.285 s
[INFO] Finished at: 2025-10-17T11:42:46+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:4.8.0:compile (scala-compile-first) on project Discovery-M3-Operator-Java: Execution scala-compile-first of goal net.alchim31.maven:scala-maven-plugin:4.8.0:compile failed: Compilation failed: InterfaceCompileFailed ->  [Help 1]
Java и Scala имеют перекрестные зависимости и требуют смешанной компиляции
pom:

Код: Выделить всё

    


org.apache.maven.plugins
maven-release-plugin
2.5.3

${project.version}
true



org.apache.maven.plugins
maven-compiler-plugin
3.14.1

21



org.apache.maven.plugins
maven-jar-plugin
3.2.0


org.apache.maven.plugins
maven-source-plugin
3.2.1


attach-sources

jar-no-fork





net.alchim31.maven
scala-maven-plugin
4.8.0

2.12.20



scala-compile-first
process-resources

add-source
compile




compile


compile
testCompile





org.apache.maven.plugins
maven-surefire-plugin
3.1.2

true

true





Как обеспечить использование функции текстового блока Java15+ при успешной компиляции?


Подробнее здесь: https://stackoverflow.com/questions/797 ... text-block
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»