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

由NetBeans生成的Jar,尽管它是从IDE运行的,但它没有运行

栾弘新
2023-03-14

下面是我的pom.xml。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>TimeTrackerWithMaven</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <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-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.mycompany.timetrackerwithmaven.Main</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.4.201502262128</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>2.0.31-beta</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.2.4.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>4.2.4.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.2.4.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.4</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>19.0-rc2</version>
    </dependency>
    <dependency>
        <groupId>com.google.collections</groupId>
        <artifactId>google-collections</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <version>4.1.0</version>
    </dependency>
    <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>platform</artifactId>
        <version>3.5.2</version>
    </dependency>
</dependencies>
<name>TimeTrackerWithMavenDevelopment</name>

下面是生成的JAR中的MANIFEST.MF。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Blackstorm
Class-Path: mockito-core-2.0.31-beta.jar byte-buddy-0.6.14.jar objenes
 is-2.1.jar commons-io-1.3.2.jar junit-4.12.jar hamcrest-core-1.3.jar 
 spring-core-4.2.4.RELEASE.jar commons-logging-1.2.jar spring-test-4.2
 .4.RELEASE.jar spring-beans-4.2.4.RELEASE.jar spring-context-4.2.4.RE
 LEASE.jar spring-aop-4.2.4.RELEASE.jar aopalliance-1.0.jar spring-exp
 ression-4.2.4.RELEASE.jar gson-2.4.jar guava-19.0-rc2.jar google-coll
 ections-1.0.jar jna-4.1.0.jar platform-3.5.2.jar
Created-By: Apache Maven 3.0.5
Build-Jdk: 1.8.0_101
Main-Class: com.mycompany.timetrackerwithmaven.Main

java.lang.noClassDeffounderror:org/springframework/context/applicationcontext at java.lang.class.getDeclaredMethods 0(本机方法)at java.lang.class.privategetDeclaredMethods(未知源)at java.lang.class.privategetMethodMethods(未知源)at java.lang.class.privategetMethodMethods 0(未知源)at java.lang.class.getMethod0(未知源)at java.lang.classloader.loadclass(未知源)位于sun.misc.launcher$appclassloader.loadclass(未知源)位于java.lang.classloader.loadclass(未知源)...7更多错误:出现JNI错误,请检查您的安装并在线程“main”中重试异常

共有1个答案

陆子默
2023-03-14

您的输出jar没有包含必要的库,并且无法在类路径上找到依赖项。要解决这个问题,要么将它们包含在类路径中(在您的情况下,将它们放在与输出jar相同的文件夹中,可能会有一些插件来帮助自动化,尽管这看起来不像是giid的想法,但您的文件夹将被大量的依赖项jar污染,从而使其不受组织约束),要么使用maven-shade-plugin将这些依赖项合并到输出jar中。

 类似资料:
  • 我有个奇怪的问题。我的代码中有一个更新查询,我是从Java应用程序运行的。我有一个PreparedStatement,为此我传递了2个java.sql.Date参数。当我运行查询时,它将记录以下异常: 现在,如果我从异常日志中复制粘贴查询,查询执行时在pgadmin中没有问题。 我错过了什么?

  • 我正在用SWING用JAVA开发一个图形用户界面应用程序。当我试图从Netbean IDE运行图形用户界面时,我遇到了一个问题,一旦图形用户界面运行,我就无法在界面上点击或做任何事情,换句话说,我无法与用户界面交互。例如,当我尝试按下一个按钮时,它什么也不做,就像冻结一样,但是它不会显示任何错误,你可以正常关闭它(x图标)。这是一张照片 有人知道如何解决这个问题吗? 我用的是Ubuntu 14.0

  • E立方管理平台是一个网络应用系统,其中数据库、服务程序和填报网站仅安装在服务器上。而客户端程序和管理控制台既安装在服务器上也安装在客户机上。 服务器端: 在E立方管理平台中,在用作服务器的那台计算机上安装有数据库和服务程序,用户通过网络上的其它计算机(称为客户机)登录到服务器,从服务器上的数据库中获取信息,进行各种操作,最终的结果再保存到数据库中去,通过这种方式实现了信息的共享。 客户端: 在客户

  • NetBeans 12.0 Jdk 15 我无法启动我的程序,单击绿色的run按钮没有任何作用,右键单击MainFrame上的run file会出现错误“类没有主方法”。但正如您在下面的GIF中所看到的,它确实有一个main(字符串args[])。 有人知道为什么会这样吗?

  • 我无法用我的spring-boot with jersey项目运行生成的jar文件。 我遇到的例外情况是: 当通过IDE(运行主类)或使用Spring-boot:run完成时,项目可以正常运行 以下是当前设置的详细信息: 包装: 依赖关系: 我的jersey配置(ResourceConfig)设置为扫描包 spring-boot-maven-plugin配置为:org.springframewor