获取父类在类路径资源的同一个jar中

时间:2014-08-25 10:01:51

标签: java classloader embedded-jetty

我在我的Maven项目的资源中有一个res / html文件夹中的index.html文件。 我正在运行 Jetty作为嵌入式网络服务器。我想告诉他静态内容的基本资源是res /文件夹。

所以,我试过了:

ResourceHandler rh = new ResourceHandler();
rh.setResourceBase(getClass().getResource("/res").toURI().toString());

直到我在我的类路径中包含另一个jar,它还有一个res /文件夹。 Jetty开始在thisotherjar.jar!res/

中寻找静态内容

我想避免在字面上给出包含我的res文件夹的jar的路径。我正在寻找更通用的东西。我尝试从文件index.html类路径开始,然后使用URI.resolve("..")转到res文件夹,但同样的问题也会发生。

有什么想法可以很好地解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该使用一个不易发生冲突的名称,就像Java包一样。您没有命名包res,因为如果每个人都这样做,那么每次我们合并两个库时都会有冲突。

而不是res目录,为其指定一个特定于您的名称,例如com/mycompany/myproject/res