使用Maven从Vertx项目构建war文件

时间:2018-04-18 06:30:49

标签: maven tomcat vert.x

我已经创建了一个引用this Vert.x 项目。还在eclipse中创建了一个运行配置,引用this。该项目在Eclipse中作为应用程序项目成功运行,http://localhost:8080是可访问的。

根据文档使用class Solution { func hammingDistance(_ x: Int, _ y: Int) -> Int { let xor = x ^ y //xor: compares bits let xorBinary = String(xor, radix: 2) let xor8BitBinaryStr = String(repeating: Character("0"), count: 8 - xorBinary.count) + xorBinary return xor8BitBinaryStr.filter({ $0 == "1" }).count } } let c = Solution() print(c.hammingDistance(1, 4)) //prints 2 来构建maven shade plugin如果我使用Maven通过终端构建它),我只复制粘贴,不太了解。

fat-jar

每个示例都说创建<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <manifestEntries> <Main-Class>io.vertx.core.Launcher</Main-Class> <Main-Verticle>${main.verticle}</Main-Verticle> </manifestEntries> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/io.vertx.core.spi.VerticleFactory</resource> </transformer> </transformers> <artifactSet> </artifactSet> <outputFile>${project.build.directory}/${project.artifactId}-${project.version}-fat.jar</outputFile> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.5.0</version> <configuration> <mainClass>io.vertx.core.Launcher</mainClass> <arguments> <argument>run</argument> <argument>${main.verticle}</argument> </arguments> </configuration> </plugin> </plugins> 文件并在终端上运行它。但我需要将此项目部署到tomcat服务器,作为WAR文件。我无法访问此服务器系统,因此我必须将WAR移交给admin。 如何从中生成WAR文件?请帮忙!

1 个答案:

答案 0 :(得分:2)

Vert.x 应用程序虽然可以嵌入到现有应用程序中,但应该自行执行(这可以帮助您避免许多问题,包括ClassLoader个问题。)< / p>

按照上面提到的guideline,你应该使用 Vert.x 创建一个 Web API ,它由一个嵌入式服务器在底层运行,阻止你使用 Tomcat 作为运行时容器。