使用包含在一个jar中的tomcat部署Web应用程序

Sup*_*miu 1 java tomcat jar tomcat8

我需要创建一个包含我的Tomcat8设置和我的Web应用程序之战的简单jar.

为什么?我想创建一个可移植的Web应用程序,这意味着你可以在任何地方,linux,windows,mac等任何地方托管它.唯一需要的是jar文件,所有数据都保存在包含当前jar文件的文件夹中创建的"data"文件夹中.

我们的目标是创建一个jar文件,你必须开始启动tomcat并完成它,你的web应用程序就绪并且正在聆听.

我不知道它是否可能,但我发现没有使用谷歌.

PS:我将使用VAADIN7(用于Web应用程序),Jersey JAX-RS(用于休息api)和Neo4j(用于数据)

Mac*_*ach 8

如本博客文章中所述: 具有可执行Tomcat的独立Web应用程序

您可以使用tomcat7:exec-warmaven目标来创建包含所有tomcat类的自执行jar.

因此,您将只能使用:java -jar createjar.jar运行您的webapp而无需安装Apache Tomcat实例.

你必须pom.xml使用这个插件条目扩展你的:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0</version>
    <executions>
        <execution>
            <id>tomcat-run</id>
            <goals>
                <goal>exec-war-only</goal>
            </goals>
            <phase>package</phase>
            <configuration>
                <path>/application</path>
                <enableNaming>false</enableNaming>
                <finalName>application.jar</finalName>
                <charset>utf-8</charset>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

构建应用程序: mvn package

并运行Tomcat以及您的嵌入式应用程序: $ java -jar application.jar

或者,查看此Heroku教程,描述使用嵌入式Tomcat 创建Web应用程序的过程:使用嵌入式Tomcat创建Java Web应用程序.