我正在开发一个Web应用程序,需要一些外部jar文件(从moven项目中编译)。我将jar添加到Java构建路径和部署程序集中。
现在当我尝试从另一个类
访问其中一个jar的主方法时...
String[] argument = {filePath,uploadFolder + File.separator+"new.cml"};
NWChemLog2CompchemConverter.main(argument);
...
并抛出java.lang.NoSuchMethodError
我检查了来源并且存在相应的方法。 (我尝试在net beans项目中访问相同的jar main方法,并且它的工作非常好)。 我猜运行时间没有检测到方法定义。
Manifest.mf(外部jar文件)
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: cs76
Build-Jdk: 1.7.0_25
Main-Class: org.xmlcml.cml.converters.compchem.nwchem.log.NWChemLog2Co
mpchemConverter
你可以告诉我可能出现错误的原因......
错误详情:
java.lang.NoSuchMethodError: org.xmlcml.euclid.Util.getResourceUsingContextClassLoader(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/InputStream;
org.xmlcml.cml.converters.util.DictionaryContainer.processAttributes(DictionaryContainer.java:51)
org.xmlcml.cml.converters.util.DictionaryContainer.processChildElementsAndAttributes(DictionaryContainer.java:40)
org.xmlcml.cml.converters.util.DictionaryContainer.<init>(DictionaryContainer.java:36)
org.xmlcml.cml.converters.templates.output.Template.createSubclassedElementsFromChildElements(Template.java:304)
org.xmlcml.cml.converters.templates.output.Template.processChildElementsAndAttributes(Template.java:105)
org.xmlcml.cml.converters.templates.output.Template.<init>(Template.java:100)
org.xmlcml.cml.converters.templates.output.Text2XMLTemplateConverter.init(Text2XMLTemplateConverter.java:44)
org.xmlcml.cml.converters.templates.output.Text2XMLTemplateConverter.<init>(Text2XMLTemplateConverter.java:27)
org.xmlcml.cml.converters.compchem.CompchemText2XMLTemplateConverter.<init>(CompchemText2XMLTemplateConverter.java:29)
org.xmlcml.cml.converters.compchem.nwchem.log.NWChemLog2XMLConverter.<init>(NWChemLog2XMLConverter.java:31)
org.xmlcml.cml.converters.compchem.nwchem.log.NWChemLog2XMLConverter.<init>(NWChemLog2XMLConverter.java:28)
org.xmlcml.cml.converters.compchem.nwchem.log.NWChemLog2XMLConverter.createDefaultConverter(NWChemLog2XMLConverter.java:24)
org.xmlcml.cml.converters.compchem.nwchem.log.NWChemLog2CompchemConverter.ensureLogConverter(NWChemLog2CompchemConverter.java:32)
org.xmlcml.cml.converters.compchem.nwchem.log.NWChemLog2CompchemConverter.convert(NWChemLog2CompchemConverter.java:43)
org.xmlcml.cml.converters.compchem.nwchem.log.NWChemLog2CompchemConverter.main(NWChemLog2CompchemConverter.java:56)
org.openscience.jch.servlet.PredictionHandler.doPost(PredictionHandler.java:67)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
如果您需要任何进一步的详细信息,请与我们联系
如果是maven依赖,还有什么必须要做的额外步骤吗?因为来自其他项目的罐子(不是maven,ant)非常好......
非常感谢:)