我正在尝试使用JLibs I18N库。对于依赖性,我已将JAR文件(i18ni18n-apt)添加到Eclipse Build Path:



接下来,我仅使用网站上发布的示例源代码。

import jlibs.core.util.i18n.I18N;
import jlibs.core.util.i18n.Message;
import jlibs.core.util.i18n.ResourceBundle;

@ResourceBundle
public interface DBBundle{
    public static final DBBundle DB_BUNDLE = I18N.getImplementation(DBBundle.class);

    @Message("SQL Execution completed in {0} seconds with {1} errors")
    public String executionFinished(long seconds, int errorCount);

    @Message(key="SQLExecutionException", value="Encountered an exception while executing the following statement:\n{0}")
    public String executionException(String query);

    @Message("executing {0}")
    public String executing(String query);
}


到目前为止,我还没有收到任何编译器错误,这很棒。

在本教程中继续说


  使用classpath中的jlibs-core.jar编译此接口时,它将生成包含消息的Bundle.properties。


因此,我还将jlibs-core放入Eclipse的类路径中(请参见上面的屏幕截图)并执行了重建。不幸的是,没有创建Bundle.properties文件,我使用Search Everything进行了检查:每个文件都来自May或更早的版本:



我还需要什么来使Jlibs编译I18N接口?

最佳答案

您可能必须在Eclipse中启用注释处理。请参见instructions here

jlibs-i18-aptjlibs-aptjlibs-core添加到工厂路径,然后尝试。

如果您对Maven感到满意,则可以下载sample maven project。编译时,您可以在target / classes文件夹中看到生成的文件。

09-11 17:50