3 回答
TA贡献1851条经验 获得超4个赞
我用以下配置解决了同样的问题。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<fork>true</fork>
<compilerArgs>
<compilerArg>-J-Duser.language=en</compilerArg>
<compilerArg>-J-Duser.country=US</compilerArg>
<compilerArg>-J-Dfile.encoding=UTF-8</compilerArg>
</compilerArgs>
<annotationProcessorPaths>
<annotationProcessorPath>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>${hibernate.version}</version>
</annotationProcessorPath>
</annotationProcessorPaths>
</configuration>
</plugin>
TA贡献1802条经验 获得超10个赞
2023 年 3 月更新:
在您的项目中添加包含内容的.mvn/jvm.config文件-Duser.country=US -Duser.language=en
似乎会更改 Maven 的语言环境,这似乎是更好的方法。
2023 年 2 月更新:
经过一些调试,下面是我对这个问题的发现:
即使我的实体(编码方式)没有问题,JpaMetaModelGen 的 StringUtils 类方法使用 toUpperCase() 方法,该方法使用 JVM 的默认 Locale 进行大写操作。以下是一些关于 upperCase 方法的文档:
此方法对区域设置敏感,如果用于旨在独立解释区域设置的字符串,可能会产生意外结果。示例是编程语言标识符、协议密钥和 HTML 标记。例如,土耳其语言环境中的“title”.toUpperCase() 返回“T\u0130TLE”,其中“\u0130”是带点的拉丁文大写字母 I。要获得不区分语言环境的字符串的正确结果,请使用 toUpperCase(Locale.ROOT)。
似乎我需要将我的 JVM 区域设置更改为英语(通常当您调用 java 命令时,您需要添加这些 jvm args:-Duser.country=US -Duser.language=en)以解决此问题,但添加这些to mvn 命令对我不起作用,所以在 IDEA 中我这样做了,它似乎起作用了。
TA贡献1853条经验 获得超6个赞
我有同样的问题。我的问题已通过以下插件解决
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgument>-proc:none</compilerArgument>
<encoding>UTF-8</encoding>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<compilerArguments>-AaddGeneratedAnnotation=false</compilerArguments> <!-- suppress java.annotation -->
<processors>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
</processors>
<outputDirectory>generated</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
添加回答
举报