2013-10-11 80 views
0

这是可能已经被问到的问题,我不知道。有点新在Java。Java .jar文件和依赖项

我在unix上写了一件关于NetBeans的东西。在IDE上一切看起来很酷,所以我想将我拥有的(只有两个.java类)编译成一个jar文件,以便我可以在其他地方运行它。我添加了一些编译时库(其他.jars),但是当我在NetBeans上构建项目并从CLI(java -jar thing.jar)运行它时,它会抛出一堆像这样的异常。

EXCEPTION: Class com.systinet.saaj.soap.SOAP11ProtocolHandler or one of its components not found in root.wasp-impl.SOAP 
... 
... 
EXCEPTION: [url]http://systinet.com/wasp/app/security_services_client:security_services_client[/url] -> I couldn't find deployment 
descriptor (QName="{[url]http://systinet.com/wasp/app/builtin_serialization[/url]}builtin_serialization")of dependant package. 

我编译.jars时是否缺少某种依赖关系?我应该将这些库放在类路径中,还是在命令行参数中引入一些东西?

+0

如果您使用IDE,为什么使用CLI构建JAR? – ppeterka

+0

哦,我的意思是我在NetBeans中构建它,然后尝试从CLI运行它。抱歉。编辑更多澄清。 –

回答

1

将项目构建从IDE移动到命令行时,需要确保您在IDE中设置的所有jar依赖关系现在都可以在classpath中使用。否则,你会看到像ClassNotFoundException,NoClassDefFoundError等问题。

+0

我只是将目录添加到类路径中?或罐子本身? –

+0

这取决于你。如果你有很多jar,那么最好把整个目录放在classpath中。 –

+0

是的,但包括他们仍然会导致同样的错误。会处理SOAP请求之外的东西吗?也许就是这样。我不确定。 –