我在一个类中有一些非常长的字符串用于初始化用户信息.当我在Eclipse中编译时,我没有收到任何错误或警告,并且生成的.jar运行正常.
最近,我决定创建一个使用的ant构建文件.每当我用ant编译同一个类时,我都会得到"常量字符串太长"的编译错误.我已经尝试了很多方法来在ant中设置java编译器可执行文件,以确保我使用与Eclipse中完全相同的版本.
我宁愿弄清楚如何在Ant中获得相同的成功编译,而不是尝试重新编写代码以动态连接字符串.
mrs*_*dge 33
我发现我可以使用apache commons lang StringUtils.join(Object [])方法来解决这个问题.
public static final String CONSTANT = org.apache.commons.lang.StringUtils.join( new String[] {
"This string is long",
"really long...",
"really, really LONG!!!"
} );
Run Code Online (Sandbox Code Playgroud)
以上对我没有任何作用。我已经创建了一个名称为test.txt的文本文件,并使用以下代码读取了该文本文件
String content = new String(Files.readAllBytes(Paths.get("test.txt")));
Run Code Online (Sandbox Code Playgroud)
类文件中字符串常量的长度在UTF-8编码中限制为2 ^ 16字节,这不应取决于所使用的编译器.也许你在ant文件中使用的是不同于eclipse的字符集,因此某些字符需要比以前更多的字节.请检查encoding您的javac任务属性.
| 归档时间: |
|
| 查看次数: |
74341 次 |
| 最近记录: |