如何将文件包含到我的jar文件中?

时间:2017-08-12 20:47:29

标签: java jar classpath

我试图将一些.txt,.png和其他文件包含到我的jar文件中。我在我的src文件夹下创建了一个名为" resources"的文件夹。从我的IDE运行程序时,程序可以正确找到所有文件。但是只要我从代码中创建一个jar文件,就找不到任何文件。当然我使用了getClass()。getResource(...)。

任何人都可以帮助我吗? :/

2 个答案:

答案 0 :(得分:0)

pom.xml<project><build>下,您必须包含以下内容:

    <resources>
        <resource>
            <directory>${basedir}/src/resources</directory>
            <includes>
                <include>**/*.txt</include>
            </includes>
        </resource>
    </resources>

(假设您的来源位于src下,换句话说,在<project><build>下您有<sourceDirectory>src</sourceDirectory>}

答案 1 :(得分:-1)

这对我有用:

  1. 将所有资源放在&#34; src&#34;文件夹(是的,放置Java源的文件夹)

  2. 您可以将资源加载资源网址:

  3. 以下是代码:

    URL res = AnyClassYouLike.class.getResource("res/icon.png");
    Image img = Toolkit.getDefaultToolkit().getImage(res);
    // I used image just for example! URL objects obtained
    // from "getResource" method can be used in a lot of APIs, such as Swing.
    

    或者,更一般地说,作为InputStream对象:

    InputStream is = AnyClassYouLike.class.getResourceAsStream("res/my_resource.ext");
    // This will give you the stream to your file. It can be used in some APIs, like an Audio API, very likely.