1

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

所以最简单的代码是:

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

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

即使 jar 架构很好:

  • 元信息
  • 距离
    • 应用程序战争
  • ...

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

4

1 回答 1

0

我将使用 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

于 2012-07-27T17:01:48.813 回答