为clojure源文件启用UTF-8编码

我正在从事一个涉及Maven,Java和Clojure的项目。我面临的问题是,UTF-8我的clojure源文件中有一些字符,由于这些原因,java编译器无法正确解释我的源代码,我通过设置环境变量使其正常工作JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8,但是我想要的是通过MAVEN传递此属性。

我已经尝试设置,MAVEN_OPTS=-Dfile.encoding但这似乎不起作用。

我也尝试过为Maven的编译器插件设置配置…如下所示:

 <configuration>

<compilerArgument>-Dfile.encoding=UTF8</compilerArgument>

</configuration>

这也不起作用。

我做错了什么,还是有其他方法。

谢谢,

RD

好的,这里有更多细节。这是我的父母pom

  <plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<source>1.5</source>

<target>1.5</target>

<encoding>UTF-8</encoding> <! also tried <encoding>UTF8</encoding>

</configuration>

</plugin>

除了…之外,孩子的绒球里没有其他有趣的东西了。

<resources>

<resource>

<directory>src/main/clojure</directory>

</resource>

</resources>

;; clojure代码段,这会导致问题

(let [char "대"]

(not (empty? (filter #(s/contains? % char) <some-list>)))

;; The list is always empty because I never find a match if I do not set the env. variable

回答:

更新:根据您的评论,这是运行时,而不是编译问题。解决方法是,您可以尝试将字符转义为Unicode。

例如,在clojure文件中将字符更改为’\ uXXXX’,其中XXXX是十六进制的Unicode点。

如果您的问题发生在单元测试中。您可以通过设置argLine属性来配置surefire插件。这使您可以在命令行上设置任意JVM选项。

以上是 为clojure源文件启用UTF-8编码 的全部内容, 来源链接: utcz.com/qa/405076.html

回到顶部