为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