Jar Manifest更改getResource()路径

时间:2015-02-20 15:36:24

标签: maven jar classpath manifest

在通过maven构建jar文件后,我遇到了一个严重的问题。我告诉maven-jar-plugin使用几个类路径。创建的jar包含以下清单:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Build-Jdk: 1.8.0_25
Main-Class: EntryPoint
Class-Path: Launcher-1.0.jar lib/ Introduction-1.0.jar

但是当我尝试从EntryPoint.class中的方法加载资源时,根路径是/ xx / xx / lib /并且我不在jar文件中,它是在文件中指定的lib /文件夹清单。

这是我在EntryPoint方法中使用的代码片段:

System.out.println(EntryPoint.class.getResource("").getPath().toString());

但是:我需要在jar中加载一个xml文件,我怎么才能回来?

1 个答案:

答案 0 :(得分:0)

javax.swing.ImageIcon ICONE     =new javax.swing.ImageIcon(getClass().getClassLoader().getResource("path/subdir/video.png"));

OR

Icon ic2=new ImageIcon(ThisCurentClassName.class.getResource("/fr/package/someresource/icones/server1.png"));