質問

タンゴアイコンを使用するJava / Mavenプロジェクトを持っているので、次の依存関係を使用しています。

<dependency>
    <groupId>org.freedesktop.tango</groupId>
    <artifactId>tango-icon-theme</artifactId>
    <version>0.8.90</version>
</dependency>
.

と次のコードは、ProyectをMavenに移動する前にうまく機能します。

imageIcon = new ImageIcon(this.getClass().getResource(org/freedesktop/tango/22x22/actions/address-book-new.png));
.

しかし、それは何らかの理由でNullPointerExceptionをもたらします。 生成されたjarには画像は含まれていませんが、任意の方法でそれらを参照していませんが、他の瓶のクラスはです。

私はたくさん調査しましたが、ほとんどの人が彼らのイメージを彼らの情報源とバンドルしました。これは私の訴訟ではありません。

これらの画像を参考にして/または梱包するためにMavenのために何をする必要がありますか? スタンドアロンのRunnable Jarを構築するためにMavenがどのようになりますか(これはスイングアプリケーションです)。

役に立ちましたか?

解決

パスの前にスラッシュを追加した場合:

ImageIcon imageIcon = new ImageIcon(this.getClass().getResource("/org/freedesktop/tango/22x22/actions/address-book-new.png"));
. API

委任前に、絶対リソース名が作成されます。 このアルゴリズムを使用したリソース名を指定すると、

名前が '/'( '\ u002f')で始まる場合は、その絶対値名 リソースは '/'の後の名前の一部です。さもないと、 絶対名は次の形式です。
modified_package_name / name / nameはここにあります '/'が '/'を付いているこのオブジェクトのパッケージ名 '。'( '\ u002e')

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top