1

我不确定协议是如何在这里的,但这就是我正在做的。我发现了一个我自己解决的问题,所以我将发布问题并将解决方案分别发布为问题和答案。那么问题来了:

我试图使用 junit、嵌入式 glashfish、JPA 执行单元测试,并在运行测试后引发org.apache.derby.jdbc.EmbeddedDataSource.findDriver(Unknown Source) 处的 java.lang.ExceptionInInitializerError时遇到了障碍。

有任何想法吗?

pom文件有

...
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
</dependency>
<dependency>
    <groupId>org.glassfish.main.extras</groupId>
    <artifactId>glassfish-embedded-all</artifactId>
    <version>4.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derby</artifactId>
    <version>10.10.1.1</version>
</dependency>
...
4

1 回答 1

1

问题是 pom 文件的依赖项中的顺序。

Derby 依赖项是在嵌入 glassfish 之后。依赖关系然后像这样

...
<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derby</artifactId>
    <version>10.10.1.1</version>
</dependency>
<dependency>
    <groupId>org.glassfish.main.extras</groupId>
    <artifactId>glassfish-embedded-all</artifactId>
    <version>4.0</version>
    <scope>test</scope>
</dependency>
...

看起来像一个愚蠢的解决方案,但我花了几个小时研究直到我找到它。希望能帮助到你

于 2013-11-18T20:32:17.060 回答