【问题标题】:Can I store an XML file inside a jar file?我可以将 XML 文件存储在 jar 文件中吗?
【发布时间】:2021-08-19 10:28:22
【问题描述】:

我使用 Maven 构建了一个 Jar。 我试图实现的行为是:当用户使用命令 create 时,我想将 XML 文件存储在 jar 的文件夹中。有可能吗?

假设这是一个项目,我在其中添加了迁移工具的 jar。 我希望能够查看和编辑属性文件

【问题讨论】:

  • 是的,当然。默认情况下,src/main/resources 中的所有内容都将放在您的 JAR 文件中。
  • 将文件放入src/main/resources,结果将在jar的根目录中包含文件。如果你想把它放在一个文件夹中,你必须在src/main/resources/FOLDER中创建一个文件夹...
  • @khmarbaise 但我想在编译 jar 后存储它
  • @khmarbaise 获取 jar 怎么样?
  • @Fabio:所以您想在代码运行时修改 jar 文件?这是一个坏主意,通常不会这样做,最好将数据存储在其他地方。不过,这并非完全不可能。另外:“获取 jar”是什么意思?

标签: java maven jar


【解决方案1】:

3-它有一些需要改变的东西,例如 迁移文件和带有数据库信息的文件

不是 100% 确定我是否正确理解了您的要求,但我已经实现了一些支持的实用程序类:

  • JAR 中的默认配置
  • 安装目录中的配置
  • 用户目录中的配置
  • 简单的命令行参数/开关支持
  • 还有更多...

也许这会有所帮助。

public static void main(String[] args) throws URISyntaxException, IOException, MissingPropertyException, Exception {
    CommandLineArgs commandLineArgs = CommandLineArgs.parseCommandLineArgs(args);
    DromblerClientStarter<DromblerClientConfiguration> main = new DromblerClientStarter<DromblerClientConfiguration>(new DromblerClientConfiguration(commandLineArgs)) {
        @Override
        protected ApplicationInstanceListener getApplicationInstanceListener() {
            return additionalArgs -> {
                // additionalArgs not handled
            };
        }

    };
    if (main.init()) {
        main.start();
    }
}

源码:https://github.com/Drombler/drombler-commons/tree/master/drombler-commons-client/drombler-commons-client-startup-main

马文:

<dependency>
    <groupId>org.drombler.commons</groupId>
    <artifactId>drombler-commons-client-startup-main</artifactId>
    <version>1.0</version>
</dependency>

Javadoc:https://www.drombler.org/drombler-commons/1.0/docs/site/apidocs/org/drombler/commons/client/startup/main/package-summary.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多