Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用glassfish embedded all和arquillian-glassfish-embedded-3.1工件执行maven安装时出错_Maven_Jakarta Ee_Glassfish_Jboss Arquillian_Glassfish Embedded - Fatal编程技术网

使用glassfish embedded all和arquillian-glassfish-embedded-3.1工件执行maven安装时出错

使用glassfish embedded all和arquillian-glassfish-embedded-3.1工件执行maven安装时出错,maven,jakarta-ee,glassfish,jboss-arquillian,glassfish-embedded,Maven,Jakarta Ee,Glassfish,Jboss Arquillian,Glassfish Embedded,我试图在pom上执行maven install,结果如下: Grave:SEC5054:证书已过期 此结果在测试执行开始后立即出现。 我一直在用谷歌搜索这个问题,但我只找到了与真正的glassfish应用服务器相关的解决方案。他们建议从它们所在的文件夹中删除有问题的证书等等(我看到的页面大多类似于这样),或者“取消”嵌入的glassfish以删除证书,然后再次将其jar 请注意,我正在执行一个maven安装,而不是在应用服务器上实际部署。这就是为什么我不能接受许多博客上的建议 pom包括以下依赖

我试图在pom上执行
maven install
,结果如下:

Grave:SEC5054:证书已过期

此结果在测试执行开始后立即出现。 我一直在用谷歌搜索这个问题,但我只找到了与真正的glassfish应用服务器相关的解决方案。他们建议从它们所在的文件夹中删除有问题的证书等等(我看到的页面大多类似于这样),或者“取消”嵌入的glassfish以删除证书,然后再次将其jar

请注意,我正在执行一个
maven安装
,而不是在应用服务器上实际部署。这就是为什么我不能接受许多博客上的建议

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>

org.glassfish.main.extras
玻璃鱼嵌入所有
3.1.2.2
假如
朱尼特
朱尼特
4.10
测试
真的
org.jboss.arquillian.junit
arquillian junit容器
1.0.0.1决赛
测试
org.jboss.arquillian.container
arquillian-glassfish-embedded-3.1
1.0.0.CR3
测试
您可以尝试以下方法:

  • 创建自定义的
    domain.xml
  • -Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks
    更改为
    -Djavax.net.ssl.trustStore=insertpathtocacert/cacerts.jks
  • arquillian.xml
    设置
    configurationXml
    作为
    domain.xml
    的路径:

  • 或者这样:

    我假设测试阶段启动了负责错误的嵌入式glassfish服务器。安装阶段在测试阶段之后。如果要执行任何测试用例,必须取消限制并删除冲突的证书(在.m2文件夹中)。否则,您可以使用标志-DskipTests=true绕过测试阶段。

    这是一个已知的问题,至少从Glassfish 3.0.1和。Oracle提供了一些变通办法,但这些都不适用于您的情况。但他们也说:

    如果实例未以这种方式配置,请忽略警告。实例的功能不受影响

    所以,即使这是一个蹩脚的问题的答案:不要为你的测试用例费心。(就我个人而言,我花了很多时间试图解决这个问题。)要么新版本的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>
    
    
    org.jboss.arquillian
    阿奎利安bom
    1.0.3.1最终版本
    进口
    聚甲醛
    org.glassfish.main.extras
    玻璃鱼嵌入所有
    3.1.2
    假如
    朱尼特
    朱尼特
    4.11
    测试
    org.jboss.arquillian.container
    arquillian-glassfish-embedded-3.1
    1.0.0.CR4
    测试
    org.jboss.arquillian.junit
    arquillian junit容器
    1.1.1.最终版本
    测试
    org.apache.derby
    德比客户机
    10.7.1.1
    测试
    maven编译器插件
    2.3.2
    1.7
    1.7
    
    是。。。此消息可以忽略。。。但至少在我的本地环境中,这个bug停止并显示构建过程失败。。。可能是maven配置中的某些东西吗?