首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在spring应用中重用可运行的jar文件

如何在spring应用中重用可运行的jar文件
EN

Stack Overflow用户
提问于 2020-05-17 14:21:08
回答 1查看 105关注 0票数 0

我有一个spring boot应用程序,我用mvn package编译并用java -jar target/springapp.jar运行它,然后我得到了错误(当我调用url时):java.lang.ClassNotFoundException: Lab.Plant.Plant。springapp在Lab.Plant.Plant类中使用了其中一个函数。

我使用了一个名为Lab.Plant的自创建jar文件,并将其存储在${project.basedir}/lib/中。

我使用extract required libraries into generated JAR将eclipse中的Lab.Plant导出为可运行的jar文件,然后在springapp的pom.xml文件中添加jar依赖项。

代码语言:javascript
复制
<dependencies>
...
<dependency>
    <groupId>Lab</groupId>
    <artifactId>Plant</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/plant.jar</systemPath>
</dependency>
...
</dependencies>

它在spring boot suite集成开发环境中运行良好,但在java -jar中运行不佳。我是不是误解了什么?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-05-17 14:35:34

您需要将依赖项打包到您的jar文件中。然后你可以用java命令来运行它。更改您的maven pom.xml,添加到下面,然后运行mvn package

代码语言:javascript
复制
 <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- this is used for inheritance merges -->
                    <phase>package</phase> <!--  bind to the packaging phase -->
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

或者您可以直接调用cmd行中的mvn assembly:assembly -DdescriptorId=jar-with-dependencies

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61847778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档