【问题标题】:Is there a way to save multiple config files in a sub-folder of the plugin-folder (Spigot & Maven)有没有办法将多个配置文件保存在插件文件夹的子文件夹中(Spigot & Maven)
【发布时间】:2019-12-24 16:30:36
【问题描述】:

我的项目内的一个目录中有多个语言文件。 这些语言文件基本上是自定义配置文件,我也想将其保存在插件文件夹的子文件夹中。

我已经编辑了我的pom.xml 以将.yml 文件实现到压缩的.jar

<resource>
    <directory>${basedir}/src/main/resources/languages</directory>
    <includes>
        <include>*.yml</include>
    </includes>
</resource>

到目前为止这是有效的,但是当我保存配置文件时,

File file = new File(Main.getPlugin().getDataFolder(),
                ConfigManager.getConf().getString("Settings.language") + "_lang.yml");
if (!file.exists()) {
   System.out.println("This language file does not exist!");
   file.getParentFile().mkdirs();
}
Main.getPlugin().saveResource(file.getName(), true);

conf = YamlConfiguration.loadConfiguration(file);

加载插件时,它们不会保存在子文件夹中。

我试图告诉File() 函数,它应该使用不同的位置,例如

File file = new File(Main.getPlugin().getDataFolder() + System.getProperty("file.separator") + "languages", 
ConfigManager.getConf().getString("Settings.language") + "_lang.yml");

但是没有用。

我可以使用当前的方式,语言文件不会保存在子文件夹中,但是随着时间和更多的语言文件,如果文件太多,它会变得非常混乱。

如果我使用的这种方法是“愚蠢的方式”,我很好,如果其他人可以告诉我如何编写更好的“语言切换器”。

【问题讨论】:

  • 据我所知,这取决于您已经在使用的其他内容(哪些框架)。 baeldung.com/spring-boot-internationalization 解释了如何例如使用LocaleResolverMessageSources。基本上,只是以某种方式命名属性文件并注入MessageSource,就是这样。您可以自定义它。如果您打算使用 Spring-Boot,所有这些都是有效的。

标签: java maven bukkit


【解决方案1】:

好的,我自己找到了解决办法。

我必须添加一个额外的 maven-plugin 来将语言文件复制到语言目录中 this stackoverflow post

最后,我将向您展示我所做的更改。

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.0.1</version>
    <executions>
        <execution>
            <id>copy-resources</id>
            <phase>validate</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${basedir}/target/classes/languages</outputDirectory>
                <resources>
                    <resource>
                        <directory>${basedir}/src/main/resources/languages</directory>
                        <filtering>true</filtering>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    相关资源
    最近更新 更多