行中出现错误(JAXBContext.newInstance):
@Override
public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException {
SoapHeader soapHeader = ((SoapMessage)message).getSoapHeader();
try {
JAXBContext context = JAXBContext.newInstance(AuthHeader.class);
Marshaller marshaller = context.createMarshaller();
marshaller.marshal(authentication, soapHeader.getResult());
} catch (JAXBException e) {
System.out.println(e.getMessage());
throw new IOException("error while marshalling authentication.");
}
}
当它作为测试用例执行时,它运行良好,使用:
mvn install
或mvn:Spring:引导运行
但在使用以下方法运行jar时会导致问题:
java -jar target/fileName-0.0.1-SNAPSHOT.jar
运行java-jar并使用postman命中时出错。
Implementation of JAXB-API has not been found on module path or classpath.
java.io.IOException: error while marshalling authentication.
版本信息
mvn -version
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 11.0.7, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-1051-aws", arch: "amd64", family: "unix"
java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)
同一个jar在开发服务器上运行良好,但不在临时服务器上运行。开发和登台服务器都有相同的环境(java版本、mvn,一切都一样)。我将这些依赖项添加到pom中。xml:
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.3</version>
</dependency>
如果它与胖jar相关,那么为什么其他依赖项(如amazon s3、stripe等)适用于普通jar。仅jaxb有什么问题?
我甚至尝试使用具有以下配置的mvn包创建fat jar:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<mainClass>com.patracorp.patrapay.PatrapayApplication</mainClass>
<layout>ZIP</layout>
</configuration>
</execution>
</executions>
</plugin>
但仍然得到同样的错误。
在Java 9及更高版本中,Java删除了Java。xml。从其默认类路径绑定。因此,必须显式地将JAR文件添加到类路径中。
我想,仅仅添加jaxb impl是不够的<您可以在POM中添加以下依赖项,然后进行尝试吗。
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb-api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb-api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb-api.version}</version>
</dependency>
请分享结果。
1)仔细检查您没有重复的依赖项,因为JAXB工件已多次重命名。
运行“mvn dependency:tree”不应多次输出JAXB相关工件。
2) 尝试使用此工件:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.2</version>
</dependency>
我使用的是Appium版本1.4.16.1、Selenium 2.53.0和java客户端2.1.0 我得到以下错误:- “org.openqa.selenium.WebDriverException:尚未实施。请帮助我们:http://appium.io/get-involved.html (警告:服务器未提供任何stacktrace信息)命令持续时间或超时:7毫秒生成信息:版本:“2.53.0
我有一个项目叫MyTest。它有三类: 第一个类实现了工具接口(这是导致问题的类),为了简单起见,我做了空实现: 第二类是普通类: 第三类也是普通类: 我将项目导出为“Runnable Jar”(即在Eclipse中:项目 我在“Launch Configuration”和“Packaged required libraries into generated JAR”中设置“A2”作为主类,输出J
我有一个小项目,当我让它运行时,它确实会引发异常。 问题就在这里(TestObject.java): 我真的不明白为什么这会引发异常。我还创建了一个类似于charm的测试(TestTest.java)。请原谅我的名字,但这只是一个小的测试应用程序,可以让它与java 11一起工作。 我遵循了这个:javax。xml。绑定在模块路径或类路径上未找到JAXB-API的JAXBException实现,已
只有当docker容器尚未运行时,我才需要运行它。给了这个命令。如果它不存在,我将如何运行它。 我对任何脚本或语言都持开放态度。
问题内容: 我试图将HikariCP与PostgreSQL一起使用,但是它不起作用。它引发异常: 我尝试了所有可能的驱动程序版本(包括)-没有任何帮助。有人在PostgreSQL中使用它吗? 这是我的配置文件: 问题答案: 不要使用。允许HikariCP遵循其使用方法的默认行为。这需要JDBC4驱动程序。
在一个项目中,我们将Hibernate与HikariCP结合使用,并且在Eclipse中一切都很好。但一旦我生成了一个jar文件(Maven),就再也找不到hikaricp了。我已经从各个可能的角度考虑了这个问题,但我无法找出问题所在。。。 坚持不懈xml 波姆。xml 如果我在Eclipse中运行此功能,则一切正常: 01:14:05,436信息HikariDataSource: 70-Hika