当前位置: 首页 > 知识库问答 >
问题:

java.lang.ClassNotFound异常:org.springframework.boot.SpringApplication

阎阳
2023-03-14

这是这个问题的后续问题:

JAVAlang.ClassNotFoundException:org。springframework。靴子springapplicationmaven

我已经在Windows上使用Eclipse开发了一个web服务。我需要在Solaris工作站上运行它,在那里我得到ClassNotFoundException。

这是我的pom。xml:(maven shade插件是我读过的,它可以创建一个包含所有依赖项的uber jar)。

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd"

<groupId>org.springframework</groupId>
<artifactId>gs-rest-service</artifactId>
<version>0.1.0</version>
<packaging>jar</packaging>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.5.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<properties>
    <java.version>1.8</java.version>
</properties>


<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>

    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
        <configuration>
          <transformers>
            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
              <mainClass>com.group.id.Launcher1</mainClass>
            </transformer>
          </transformers>
        </configuration>
      </execution>
    </executions>
  </plugin>
    </plugins>

</build>

<repositories>
    <repository>
        <id>spring-releases</id>
        <url>https://repo.spring.io/libs-release</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>spring-releases</id>
        <url>https://repo.spring.io/libs-release</url>
    </pluginRepository>
</pluginRepositories>

这是我尝试在Solaris上运行jar时遇到的例外情况:

原因:java。lang.ClassNotFoundException:org。springframework。靴子Spring在java上的应用程序。网URLClassLoader$1。在java上运行(URLClassLoader.java:366)。网URLClassLoader$1。在java上运行(URLClassLoader.java:355)。安全访问控制器。java上的doPrivileged(本机方法)。网URLClassLoader。java上的findClass(URLClassLoader.java:354)。lang.ClassLoader。sun上的loadClass(ClassLoader.java:425)。杂项。启动器$AppClassLoader。java上的loadClass(Launcher.java:308)。lang.ClassLoader。loadClass(ClassLoader.java:358)

该项目得到了一个“Maven Dependencies”文件夹,其中包含许多Spring框架的jar文件。

我真的不明白这个问题的答案。主要答案建议创建一个统一的jar,如下所示:如何使用Maven创建一个具有依赖关系的可执行JAR?

但我并不完全理解如何创建那个合并的罐子。我需要在pom文件的答案中添加行吗?还是别的地方?并且运行mvn clean compile assembly:single应该在windows中的命令行中完成吗?如果是的话,走哪条路?仅仅导出到jar就足够了吗?

如果有人能列出要做的操作,那就太好了。

共有3个答案

荣波
2023-03-14

对我有用的是:

  • 通过cmd或git bashTHE_PROJECT_FOLDERcd
    • mvn清洁
    • maven安装
    • maven包

刘棋
2023-03-14

当您运行mvn包时,springbootmaven插件已经创建了一个包含所有依赖项的可运行JAR(这是springboot的主要用途之一)。所以删除maven shade插件,因为这不是必需的(事实上,我认为这是真正的问题,因为它会干扰Spring Boot)。

卢景澄
2023-03-14

在回答其他问题时没有人说过,您需要使用maven来创建jar,而不是使用Eclipse的export-to-jar选项。您需要做的是:

1)从https://maven.apache.org/download.cgi下载maven

2)maven目录包含一个bin文件夹。将此文件夹添加到您的路径环境变量(在Windows 8上,右键单击此PC-

打开CMD

4) 导航到项目的文件夹

5) 类型mvn包

jar文件是在“目标”文件夹内创建的。

祝你好运

 类似资料:
  • 我正在测试maven及其功能。我正在尝试使用commons io将字符串写入文本文件 我已经添加了公地-io到依赖关系 波姆。xml 它编译,但当我运行它时,它抛出一个异常 我想我错过了一些东西,你能帮我指出一下吗?

  • 我在spark中编写了一个简单的程序,在mySql中向表中写入一个数据帧。 计划如下: 我的项目的POM文件如下 我运行这个程序使用火花提交(尝试在本地和纱线模式)。我没有显式包含任何jar文件来运行此代码。我一直得到错误: 线程“main”java中出现异常。lang.ClassNotFoundException:com。mysql。jdbc。驾驶员 对此该怎么办?

  • 我正在使用Eclipse IDE,并试图将其配置为有趣的javafx第一次。起初,我收到了javafx.controls的错误信息,在从构建路径中删除javafx sdk库后,它修复了该错误,现在我有了这个。我当然安装了e(fx)clipse插件。我试图彻底解决我试图解决的问题。 我浏览了多个论坛,尝试了许多不同的方法。我已将vm参数添加到我的运行配置中: --moid-path"C:\Downl

  • 应用程序通常会通过抛出另一个异常来响应异常。 实际上,第一个异常引起第二个异常。 它可以是非常有助于用户知道什么时候一个异常导致另一个异常。 “异常链(Chained Exceptions)”帮助程序员做到这一点。 以下是Throwable中支持异常链的方法和构造函数。 Throwable getCause() Throwable initCause(Throwable) Throwable(St

  • 你可以使用raise语句 引发 异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。 如何引发异常 例13.2 如何引发异常 #!/usr/bin/python # Filename: raising.py classShortInputException(Exception):     '''A u

  • 问题内容: 异常存储在哪里?堆,堆。如何为异常分配和释放内存?现在,如果您有多个需要处理的异常,是否创建了所有这些异常的对象? 问题答案: 我假设为异常分配的内存分配方式与所有其他对象(在堆上)分配方式相同。 这曾经是个问题,因为您不能为OutOfMemoryError分配内存,这就是直到Java 1.6之前 才没有堆栈跟踪的原因。现在,它们也为stacktrace预分配了空间。 如果您想知道在抛