jOOQ 3.6.3 代码生成错误? PatternSyntaxException: Illegal/unsupported 转义序列

jOOQ 3.6.3 Code Generation Bug? PatternSyntaxException: Illegal/unsupported escape sequence

jOOQs 代码生成器似乎在 v3.6.3 中引入了一个问题。我无法在 v3.6.3

中使用此配置文件生成 POJO
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
  <!-- Configure the database connection here -->
  <jdbc>
    <driver>org.postgresql.Driver</driver>
    <url>jdbc:postgresql://localhost:5432/my_db</url>
    <user>postgres</user>
    <password>pw</password>
  </jdbc>

  <generator>
    <database>    
      <name>org.jooq.util.postgres.PostgresDatabase</name>
      <inputSchema>public</inputSchema>
    </database>  
  </generator>
</configuration>

但它又开始与 v3.6.2 一起工作了。我在最新版本中得到的错误堆栈:

org.jooq.util.GeneratorException: Error generating code for schema public
    at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:268)
    at org.jooq.util.GenerationTool.run(GenerationTool.java:426)
    at org.jooq.util.GenerationTool.generate(GenerationTool.java:176)
    at org.jooq.util.GenerationTool.main(GenerationTool.java:151)
Caused by: java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 9
(?s:^.*?\Rpackage\s+(.*?);?\R.*?$)
         ^
    at java.util.regex.Pattern.error(Unknown Source)
    at java.util.regex.Pattern.escape(Unknown Source)
    at java.util.regex.Pattern.atom(Unknown Source)
    ...
[main] ERROR org.jooq.util.GenerationTool - Cannot read jooq-config.xml. Error : Error generating code for schema public
org.jooq.util.GeneratorException: Error generating code for schema public
    at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:268)
    at org.jooq.util.GenerationTool.run(GenerationTool.java:426)
    at org.jooq.util.GenerationTool.generate(GenerationTool.java:176)
    at org.jooq.util.GenerationTool.main(GenerationTool.java:151)
Caused by: java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 9
(?s:^.*?\Rpackage\s+(.*?);?\R.*?$)
         ^
    at java.util.regex.Pattern.error(Unknown Source)
    ...
    at org.jooq.util.JavaWriter.beforeClose(JavaWriter.java:121)
    at org.jooq.util.GeneratorWriter.close(GeneratorWriter.java:237)
    at org.jooq.util.JavaGenerator.generateSchema(JavaGenerator.java:3131)
    at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:298)
    at org.jooq.util.JavaGenerator.generate(JavaGenerator.java:265)
    ... 3 more
[main] ERROR org.jooq.util.GenerationTool - Usage : GenerationTool <configuration-file>

是的,这是一个仅适用于 jOOQ 3.6.3 的已知回归: https://github.com/jOOQ/jOOQ/issues/4576

您可以通过使用 Java 8 到 运行 源代码生成器来解决这个问题。