|
|
1
89
也许你的副作用来自这样一个事实:几乎所有的jar都包含manifest.mf,而你没有得到正确的。要从webapp读取manifest.mf,我要说:
请注意,从eclipse运行tomcat与单独运行tomcat不同,因为eclipse使用类加载器。 |
|
|
2
11
有点晚了,但这对我有效(glassfish中的web appl)
|
|
3
3
尝试使用 jcabi-manifests ,这就完成了所有的装载工作。例如:
荷载
值得一提的是(更多细节是 here )在大多数web容器中,当前的线程类加载器与servlet上下文类加载器不同。这就是为什么您应该在运行时将servlet上下文附加到寄存器中( more info )以下内容:
另外,看看这个: http://www.yegor256.com/2014/07/03/how-to-read-manifest-mf.html |
|
4
2
类装入器的默认工作方式是在试图查找自己的资源之前遵从父类。因此,如果父类加载器有任何可用的清单,这就是您将得到的。实际上,应用服务器不一定要这样做,以允许应用程序覆盖库的版本。此外,类加载器可以有多个jar,因此可以有多个清单。
它可能能够获取一个唯一命名资源的资源url。打开连接。投到
[更新]当然,war文件本身不在类路径上。类路径将具有类似WEB-INF/lib的内容/(
.jar文件|
.zip)和WEB-INF/classes/。从
最好的解决办法:做些不同的事情。:) |
|
|
5
2
在服务器上的应用程序根中存在正确的清单。 查找应用程序根目录,例如通过查找类的类路径:
然后将上面的路径替换为已建立的路径:glassfish示例:
对我有用。 |
|
|
6
1
不知道如何用“正式”的方式读取它,但是如果manifest.mf不能正确地作为资源加载,那么尝试从应用程序中定义的某个web路径上的“servletcontext.getrealpath()”派生它的路径如何? 我想到的另一个解决方案是,在构建过程中,由ant将应用程序版本也写到其他地方(web-inf/classes中的属性文件)。 |
|
|
7
0
这就是我打印不同版本到日志文件的方法。我已经硬编码了扩展路径,但应用程序可能会使用
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |