2 回答
TA贡献2021条经验 获得超8个赞
可能只有在运行 jar 时才会得到这个,因为依赖项在其中不可用/打包。
尝试生成一个“fat jar”(也称为uber-jar),它会将所有依赖项打包到 jar 中:
<build>
<plugins>
<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>YOUR_JAR_FINAL_NAME</finalName>
</configuration>
</plugin>
</plugins>
</build>
相关的文档maven-shade-plugin
可以在这里找到
由于您使用的是可运行的 jar 文件,因此您可以遵循与Executable Jars相关的文档的这一部分
TA贡献1820条经验 获得超9个赞
一些背景。
Maven install 从不安装依赖项;它只安装通过 POM 构建的项目。如果您不使用“胖 jar”(我不推荐)或使用新的 spring boot 可执行 jar 实现,那么依赖项的安装也是您必须执行的任务。
对于这样的问题,经典的“胖罐子”是一个非常糟糕(但通常是唯一选择)的解决方案。
考虑使用 Spring-Boot;他们开发了一个新的、健全的可执行 jar 文件版本,其中包括可执行 jar 中的依赖项,并在启动时将它们添加到类路径中。此功能类似于将“war”文件添加到 JEE 容器时的功能。
警告:我不为 Pivotal 工作,我只是喜欢他们的大部分工作(Spring 框架)。
编辑:这是 Spring Boot Reference 中 Executable Jar 部分的链接。它包含一些细节。
添加回答
举报