我有这个Jar文件..
core.jar
:
META-INF/...
com/...
config
myLog4j.xml
schema
尝试阅读/加载的班级位于com/my/company/MyLogging.class
代码就是这样,在MyLogging
类中:
URL myUrl = MyLogging.class.getResource("/config/myLog4j.xml");
myUrl
是null
。它没有返回资源/文件。
修改:包含路径图片。
tar输出:
0 Fri Oct 24 16:15:10 CDT 2014 META-INF/
122 Fri Oct 24 16:15:08 CDT 2014 META-INF/MANIFEST.MF
0 Wed Oct 22 16:40:26 CDT 2014 com/
0 Wed Oct 22 16:40:26 CDT 2014 com/my/company/..
.....
0 Wed Oct 08 11:20:42 CDT 2014 config/
0 Wed Oct 08 11:20:42 CDT 2014 config/email/
0 Wed Oct 08 11:20:44 CDT 2014 schema/
0 Wed Oct 08 11:20:42 CDT 2014 schema/alliance/
0 Wed Oct 08 11:20:44 CDT 2014 schema/tibco/
7972 Fri Oct 24 16:15:08 CDT 2014 com/my/company/MyLogging.class
2045 Wed Oct 08 11:20:42 CDT 2014 config/myLog4j.xml
400 Wed Oct 08 11:20:42 CDT 2014 config/email/bodyDashtemp.st
1583 Wed Oct 08 11:20:42 CDT 2014 schema/Castor-XMLJavaScript.txt
18958 Wed Oct 08 11:20:44 CDT 2014 schema/tibco/TIBCO_EventSchema.xsd
编辑:
我是从命令行运行的。 JUnit测试。
修改:更多信息...
这个(core.jar
)是一个依赖Jar文件。它包含在JUnit测试类文件的类路径中。
此MyLogging.class
用于正在进行单元测试的类中。我作为单元测试的类实际上是一个Struts2动作类。它是一个单元测试而不是集成测试。意思是,此动作类被视为常规类而不是Action类。
修改
Manifest.mf
内容:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: pwa6460_26sr7ifx-20131203_01 (SR7) (IBM Corporation)
答案 0 :(得分:0)
还有另一个.jar
包含加载了MyLogging.class
的{{1}}。因为类加载器只能加载一次类,所以使用第一个MyLogging.class
,它的jar没有资源。