当前位置: 首页 > 知识库问答 >
问题:

WildflySwam使用它的哈希名称运行已部署的工件

裴英才
2023-03-14

我有一个标准的清洁网络项目,我正在用它来构建一个野蝇群工件。我的POM看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test.swarm</groupId>
    <artifactId>test_security_module</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wildfly.swarm</groupId>
                <artifactId>bom-all</artifactId>
                <version>2017.6.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>security</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.wildfly.swarm</groupId>
                <artifactId>wildfly-swarm-plugin</artifactId>
                <version>2017.6.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>package</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

我也有一个jboss网站。应该注册上下文根的xml,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_6_0.xsd"
           version="6.0">

    <context-root>/Tiles</context-root>

</jboss-web>

因此,在构建和运行项目后,必须注册 /Tiles上下文根,并且可以在以下网站上访问应用程序:http://localhost:8080/Tiles.

但随后我尝试使用标准java-jar运行uber jar,Swarm部署了项目名称的哈希名称(与项目名称相反)。它甚至不注册上下文根。堆栈跟踪的片段是:

2017-07-04 04:32:14329信息[org.jboss.as](控制器启动线程)WFLYSRV0025:WildFly Swarm 2017.6。1(WildFly Core 2.2.1.Final)于5762ms启动-启动59项服务中的55项(4项服务为惰性、被动或按需)2017-07-04:32:14383信息[org.WildFly.swarm.runtime.deployer](主)部署3d31f81a-29d6-4ea1-b3eb-0a2a98a3c3f5。war 2017-07-04 04 04:32:14405信息[org.jboss.as.server.deployment](MSC服务线程1-3)WFLYSRV0027:开始部署“3d31f81a-29d6-4ea1-b3eb-0a2a98a3c3f5.war”(运行时名称:“3d31f81a-29d6-4ea1-b3eb-0a2a98a3c3f5.war”)2017-07-04:32:14464信息[org.jboss.as.as.server](主)WFLYSRV0010:已部署“3d31f81a-29d6-4ea1-b3eb-0a2a98a3c3f5。war“(运行时名称:“3d31f81a-29d6-4ea1-b3eb-0a2a98a3c3f5.war”)2017-07-04 04:32:14466信息[org.wildfly.swarm](main)WFSwarm9999:wildfly swarm准备就绪

是什么导致swarm使用项目的哈希名称运行应用程序?

共有2个答案

楚骞尧
2023-03-14

我是这样启动swarm/thorntail的:

Swarm swarm = new Swarm();
swarm.start();
WARArchive a = ShrinkWrap.create(WARArchive.class, "WARNAME");
swarm.deploy(a);

显然,WARNAME就是你想要的“.war”的名字。

Thorntail版本:2.2。0.决赛

PS:它可以将散列更改为文件名。。。我认为你需要在部署之前将文件放入。。。我找不到怎么做。我试图运行一个EJB无状态,使用名为“java:/global”runtime name“/EJBname”的jndi查找。当我在Swarm中运行它时,我需要知道哈希。。。那么,我做了什么?

   Swarm conteiner = new Swarm();   
   Archive a = conteiner.createDefaultDeployment();
   a.getId();  // where id is the hash

我想把这个散列放在查找中。

沙富
2023-03-14

通过添加底拖依赖项进行修复

<dependency>
    <groupId>org.wildfly.swarm</groupId>
    <artifactId>undertow</artifactId>
</dependency>
 类似资料:
  • 我刚刚完成了第一次Docker部署,当我运行这个命令查看最近进程的状态时... 我得到这个输出

  • 我可以通过外部签名使用itextpdf库对文档进行签名。 但问题是,最终用户不想发送他的文档,因为它可能包含任何敏感数据。因此,我要求最终用户给出文档哈希,以便与外部服务签署哈希,并将签署后的哈希发回。 但是,问题来了,当他们试图使用itextpdf()用给定的签名散列对文档进行签名时,PDF文档被签名了。但在验证签名时,表明签名是无效的。 因此,问题的发生是因为每次使用(itextpdf库)打开

  • 问题内容: 我有一堆带有前缀的散列,例如:“ prefix:” 在每个哈希值下面是一堆键,例如:“ cc_XX”,其中“ XX”是2个字母的代码。 我需要一些如何遍历所有redis散列的方法,并删除每一个cc_XX子键的某些方法,并且正在寻找一种cli / lua方式来做到这一点(两者都不好)。 任何建议将不胜感激。 问题答案: 下面的EVAL脚本应执行所需的操作: 您需要通过提供以下参数来调用它

  • 我正在尝试编写一个java代码,该代码将返回运行它的机器的名称,就像访问代码的远程机器的名称一样,而不是它实际运行的机器。我有这段代码,但它在输出中返回父计算机的名称,而不是远程计算机的名称: public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException

  • 我正在尝试通过签名服务签署一个pdf文件。这个服务需要发送一个十六进制编码的SHA256摘要,作为回报,我会收到一个十六进制编码的SignatureValue。此外,我还收到了签名证书、中间证书、OCSP响应和TimeStampToken。但是,我在尝试使用SignatureValue对pdf进行签名时已经陷入了困境。 我读过布鲁诺的白皮书,过度浏览互联网,尝试了很多不同的方式,但签名不断出现无效

  • 二进制运行 git clone https://github.com/apache/shardingsphere-ui.git; 运行 mvn clean install -Prelease; 获取安装包 /shardingsphere-ui/shardingsphere-ui-distribution/target/apache-shardingsphere-${latest.release.v