Eclipse 上导出的 jar 的编码

发布于 2024-10-14 05:38:37 字数 227 浏览 1 评论 0原文

我有很多项目在家中使用 Mac OS 进行,有时我也使用 Windows 进行。

因此,在 Eclipse 中我将项目的编码更改为 UTF-8。

但是,当我导出 jar 或生成插件,并且我想使用这些 jar 时,导出的 jar 似乎不在我想要的编码中。

为了进行导出,我需要外部化字符串,当我在其他项目中导入这个库时,机智工作得很好。

我是否总是需要外部化字符串来导出我的库?

I have many projects that at home work in Mac OS, and sometimes I work on it with Windows.

So, in Eclipse I change the encode of the projects to UTF-8.

But when I export the jars or generate the plugins, and I want to use these jars, it seems the exported jar is not in the encode I want.

To work the exportation I need to externalize the strings, and when I import in other project this lib, wit works well.

Do I need always to externalize strings to export my libs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

左秋 2024-10-21 05:38:37

JAR 文件没有编码 - 它只是一个 ZIP 容器。如果您有资源文件,它们将按原样复制到 JAR 文件中。

可能是您在加载程序中包含外部化字符串的资源文件时忘记指定编码。在这种情况下,将使用默认编码,该编码在不同平台上有所不同。

因此,如果您可以更改资源加载源代码,请检查它是否使用特定编码。如果无法更改资源加载源,则必须转换资源文件的编码。

JAR files do not have an encoding - it is just a ZIP container. If you have resource files they will be copied as they are into the JAR file.

May be you forgot to specify the encoding when loading the resource files containing the externalized strings in your program. In that case the default encoding is used which is different on different platforms.

Therefore if you can change the resource loading source code check if it uses a specific encoding. If you can't change the resource loading source you have to convert the encoding of the resource file.

太阳哥哥 2024-10-21 05:38:37

JAR 使用 ZIP 编码机制,并强制要求

在 JAR 文件中,所有文件名都必须以 UTF-8 编码进行编码。

规范强制要求其他 JAR 元数据的编码 -数据(MANIFEST.MF等)。如果 JAR 偏离了这一点,那就是一个错误。

如果您引用 JAR 中的其他资源,那么作为开发人员,您有责任确保使用正确的编码保存和加载这些文件。

有人讨论 JAR 格式将在 Java 7/8 中转变为更丰富的格式,但我还没有看到任何具体内容。

JARs use the ZIP encoding mechanism and mandates that:

In JAR files, all file names must be encoded in the UTF-8 encoding.

The spec mandates the encoding of other JAR meta-data (MANIFEST.MF, etc). If a JAR deviates from this, that is a bug.

If you are referring to other resources within the JAR, it is your responsibility as developer to ensure that these files are saved and loaded using the correct encodings.

There was some discussion that the JAR format would move to a richer format in Java 7/8, but I haven't seen anything concrete.

眸中客 2024-10-21 05:38:37

我参考了 Java 类中声明的字符串。在这种环境下会出现编码问题...
为了不发生这种情况,我需要将字符串外部化。但我认为这不是解决方案,或者是否存在更好的方法。

谢谢。

I refered to Strings declared inside Java Classes. In this environment the encoding problem occurs...
To don't occur, I need to externalize the strings. But I don't think this is the solution or if it exists a better approach.

Thanks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文