我有一个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依赖项。
<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中运行不佳。我是不是误解了什么?
谢谢!
发布于 2020-05-17 14:35:34
您需要将依赖项打包到您的jar文件中。然后你可以用java命令来运行它。更改您的maven pom.xml,添加到下面,然后运行mvn package
<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。
https://stackoverflow.com/questions/61847778
复制相似问题