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

时间:2015-08-12 08:04:21

标签: java tomcat jar tomcat8

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

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

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

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

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

2 个答案:

答案 0 :(得分:8)

如本博客文章所述: Standalone web application with executable Tomcat

您可以使用tomcat7:exec-war maven goal创建包含所有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>

构建您的应用程序:mvn package

将Tomcat与您的嵌入式应用程序一起运行:$ java -jar application.jar

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

答案 1 :(得分:1)

我能够在10分钟内按照http://projects.spring.io/spring-boot/#quick-start

上的说明运行项目

Spring boot在某种意义上是惊人的,它包含了我们需要的所有必要的东西,并有助于降低基础架构的开发成本等。帮助开发人员专注于提供实际的业务价值。

微服务(正如我在多个线程中提到的)是可以实现的,并且使用这种弹簧启动方法变得容易。