我的目标是使用mvn程序集创建一个在具有所有依赖项的独立jar中运行的Web Service客户端:
我使用CXF代码生成器wsdl2java生成了客户端,并创建了一个名为NetBanxAutostatementService的@WebServiceClient。
对于依赖我
<cxf.version>2.5.2</cxf.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
<scope>runtime</scope>
</dependency>
拼命地我什至试图添加更多的“东西”
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-core</artifactId>
<version>2.5.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf</artifactId>
<version>2.5.2</version>
<type>pom</type>
<scope>runtime</scope>
</dependency>
问题:每次我尝试运行“ java -jar target / Netbanx-0.0.1-SNAPSHOT-jar-with-
dependencies.jar”
INFO [main] (Netbanx.java:97) - autostatement_wsdlLocation:https://www.test.netbanx.com/cgi-bin/autostatement_wsdl
Exception in thread "main" java.lang.NullPointerException
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:92)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:204)
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:148)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:91)
at javax.xml.ws.Service.<init>(Service.java:56)
at com.netbanx.autostatement.NetBanxAutostatementService.<init> (NetBanxAutostatementService.java:39)
at my.project.netbanx.Netbanx.<init>(Netbanx.java:98)
at my.project.netbanx.Netbanx.main(Netbanx.java:130)
这在调用WebServiceClient autostatementService = new
NetBanxAutostatementService(autostatement_wsdlLocation)的行中发生;我通过日志行知道我没有将autostatement_wsdlLocation传递为null
Java代码:
URL autostatement_wsdlLocation = null;
URL payment_wsdlLocation = null;
try {
autostatement_wsdlLocation = new URL(properties.getProperty("autostatement_wsdlLocation"));
payment_wsdlLocation = new URL(properties.getProperty("payment_wsdlLocation"));
} catch (MalformedURLException e) {
logger.error("MalformedURLException",e);
}
/**
* Load the Netbanx's webservices AutostatementService and PaymentService
*/
try {
logger.info("autostatement_wsdlLocation:"+autostatement_wsdlLocation.toString());
autostatementService = new NetBanxAutostatementService(autostatement_wsdlLocation); //it is here I get the NullPointerException error
logger.info("payment_wsdlLocation:"+payment_wsdlLocation.toString());
paymentService = new NetBanxPaymentService(payment_wsdlLocation);
webServiceStarted = true;
} catch(javax.xml.ws.WebServiceException wsException ){
String error = "Cannot create NetBanx web service please make sure this host can reach:" + autostatement_wsdlLocation +" and " + payment_wsdlLocation;
logger.error(error);
logger.error("WebServiceException",wsException);
}
用编译后,我尝试用java运行,它运行了,但随后抛出了一个
当我在shell中的文件夹中运行我的时,它正在正常运行并且正确生成输出, 由于我在的情况下使用了,所以当我从eclipse运行时,MAP进程已完成,但在reduce进程中失败。 很明显,问题出在jar配置上。 请找到罐子,我已经加了... 这是我的错误 信息:减少任务执行者完成。Nov 21 2014年8:50:35 PM org.apache.hadoop.mapred.localjobrunn
我见过很多人对在Eclipse中运行时加载的图像有相同的问题,但在从导出的JAR中运行时没有。我一直有这个问题,直到我找到了正确的解决方案。现在我遇到了一个问题,当从一个新导出的、可运行的JAR运行时,图像被加载,程序工作得非常完美,但在Eclipse中却不行!值得注意的是,我在我的机器上更新了Java! 它在Eclipse中运行得非常好,直到我解决了如何正确导出可运行的JAR,现在却没有!资产文
原因:java.lang.ClassNotFoundException:javax.mail.address
我使用kotlin中的EclipsePAHOMQTT库和IntellijIDE中的Gradle创建了一个小型mqtt应用程序。当通过Intellij运行它时,它运行良好,但是当我构建它并运行创建的jar文件时,我会得到一个错误。 从我看到的其他问题来看,这似乎与类路径有关,但我不确定如果这确实是问题所在,需要做什么,因为我使用的是gradle而不是jar文件作为库。 我正在学习这个教程 这是我的档
我被以下错误困住了。我不知道这是什么类型的错误。我该怎么办?