【问题标题】:How to deploy a war in a jetty embedded server running into an executable jar?如何在运行到可执行 jar 的码头嵌入式服务器中部署战争?
【发布时间】:2012-07-26 09:25:09
【问题描述】:

我想在嵌入式码头上部署一个战争文件,我们称之为 app.war。

所以最简单的代码是:

new WebAppContext(server, path, "/");

路径最终类似于“./dist/app.war”。从 Eclipse 运行时,它就像一个魅力,但当我想从我的项目的可运行 jar 中做同样的事情时,情况会变得更糟。

即使 jar 架构很好:

  • 元信息
  • 分布
    • app.war
  • ...

找不到文件。我知道标准路径在运行 jar 文件时并不一致,但尝试使用“jar:file:.../project.jar!/dist/app.jar”并没有更好。这个问题有什么解决方案吗?谢谢!

【问题讨论】:

    标签: java eclipse jar jetty war


    【解决方案1】:

    我将使用 uber 插件来制作可执行的 jar。使用 maven,您可以简单地添加

    <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <finalName>uber-${artifactId}-${version}</finalName>
                </configuration>
            </plugin>
    

    在这里查看http://maven.apache.org/plugins/maven-shade-plugin/ 这将创建包含所有资源、类和依赖项的完全独立的 jar

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多