我正在为在JBoss上运行的MVC JS网站的源代码做一些项目维护。该项目包含Java和Javascript,我试图弄清楚这个项目中使用的所有框架,看到Javascript代码在项目文档中有些缺乏。
在WEB_INF / lib /中,我看到这些文件:
avalon-framework-4.2.0.jar
batik-all-1.7.jar
commons-io-1.3.1.jar
commons-lang-2.4.jar
commons-logging-1.0.4.jar
dwr.jar
fop.jar
mail.jar
servlet-api.jar
sqljdbc4.jar
xmlgraphics-commons-1.3.1.jar
从我的初步研究来看,我认为这个项目使用:
然而,我对serlvet-api.jar有点困惑。除了Google搜索之外,确定此软件包的来源及其目的的最佳方法是什么?特别是,当我通过Eclipse在JBoss中启动这个项目时,我在控制台中收到了这条消息:
INFO [WebappClassLoader] validateJarFile(C:\jboss-4.2.2.GA\server\default\.\tmp\deploy\tmp6553188861131946313Ag4-exp.war\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
有关我应该如何跟踪此jar文件的来源及其相应的错误消息的任何建议,以确保我的源代码维护不会损害项目?
答案 0 :(得分:2)
我不知道为什么你不想用谷歌找到答案。但是,具体问题可能是由于Tomcat现在拥有自己的Servlet类。因此,尝试从lib目录中删除servlet-api.jar文件。或者确保您在Eclipse中使用的Tomcat版本与您要部署的服务器相匹配(尽管在服务器上升级Tomcat版本可能比尝试使用旧版本设置eclipse更容易。)
答案 1 :(得分:1)
您可以使用
在命令行上列出jar的目录jar tvf servlet-api.jar
(jar位于jdk的bin目录中。)
可能的是,这是标准的servlet api规范jar。 jar本身可能不包含任何实现,而jboss依赖于此,但项目需要eclipse才能有一个副本才能编译项目。
您不应该在war文件中包含servlet-api,因为任何servlet容器都会提供它。
答案 2 :(得分:1)
您可以使用Provenance找出随机jar文件的来源,并轻松获取一些XML来帮助您转换为Maven(或Ivy)项目结构。
免责声明:这是我的项目。