我已经创建了一个引用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文件?请帮忙!
答案 0 :(得分:2)
Vert.x 应用程序虽然可以嵌入到现有应用程序中,但应该自行执行(这可以帮助您避免许多问题,包括ClassLoader
个问题。)< / p>
按照上面提到的guideline,你应该使用 Vert.x 创建一个 Web API ,它由一个嵌入式服务器在底层运行,阻止你使用 Tomcat 作为运行时容器。