我正在尝试在pom上执行maven install
,结果显示为:
严重:SEC5054:证书已过期
此结果在测试执行开始后出现。 我一直在谷歌搜索这个问题,但我只找到了与真正的glassfish应用服务器相关的解决方案。他们建议删除它们所在文件夹中的违规证书等等(我看到的页面大多是this)或者“解开”玻璃鱼嵌入式以取消认证,然后将其捣乱试。
请注意,我正在执行maven install
,而不是在应用程序服务器上执行实际部署。这就是为什么我不能接受许多博客给出的建议
pom包含以下依赖项:
<dependencies>
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>3.1.2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>1.0.0.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-glassfish-embedded-3.1</artifactId>
<version>1.0.0.CR3</version>
<scope>test</scope>
</dependency>
答案 0 :(得分:1)
你可以试试这个:
domain.xml
<jvm-options>-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks</jvm-options>
更改为<jvm-options>-Djavax.net.ssl.trustStore=insertpathtocacert/cacerts.jks</jvm-options>
arquillian.xml
设置configurationXml
设置为domain.xml
的路径:https://docs.jboss.org/author/display/ARQ/GlassFish+3.1+-+Embedded 答案 1 :(得分:1)
我假设测试阶段启动了导致错误的嵌入式glassfish服务器。安装阶段在测试阶段之后。如果要执行任何测试用例,则必须解除并删除冲突的证书(在.m2文件夹中)。否则,您可以使用标志-DskipTests = true来绕过测试阶段。
答案 2 :(得分:1)
至少自Glassfish 3.0.1和still reported as an Open Issue in Glassfish 3.1.2以来,这是一个已知问题。 Oracle提供了一些解决方法 - 所有这些都不适用于您的情况。但他们也说:
如果未以此方式配置实例,请忽略该警告。实例的功能不受影响。
所以即使这是对SO问题的蹩脚答案:不要为你的测试案例而烦恼。 (我个人花了很多时间试图解决这个问题。)新版本的Glassfish将为我们解决这个问题,或者不会。让我们停止打扰。
<强>更新强>
如果您遇到导致构建失败的问题,以下pom适用于我而没有失败的构建:
<!--snip-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.0.3.Final</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>3.1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-glassfish-embedded-3.1</artifactId>
<version>1.0.0.CR4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>1.1.1.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.7.1.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>