【问题标题】:java.lang.NoClassDefFoundError when running on maven在 Maven 上运行时出现 java.lang.NoClassDefFoundError
【发布时间】:2019-02-21 08:31:23
【问题描述】:

我正在从here 运行以下命令

mvn package

包编译成功。

但是当我跑步时

java -cp target/cloak-1.0-SNAPSHOT.jar com.github.cloak.App 

出现以下错误

错误:无法初始化主类 com.github.cloak.App

原因:java.lang.NoClassDefFoundError: boofcv/gui/image/ImagePanel

我是不是编译错了?

编辑:我没有使用 eclipse

更新:https://stackoverflow.com/a/52367511/5699915

【问题讨论】:

标签: java maven boofcv


【解决方案1】:

一种方法是创建包含所有依赖项的 fat jar。Assembly 插件是最简单的,将这些行添加到 pom.xml 并重新打包它。

 <build>
  <plugins>
  <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
            <archive>
                    <manifest>
                        <mainClass>com.github.cloak.App</mainClass>
                    </manifest>
            </archive>
        </configuration>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    </plugins>
    </build>

【讨论】:

    【解决方案2】:

    使用mvn exec:java

        <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <mainClass>com.example.Main</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    看这篇文章

    https://stackoverflow.com/a/15872962/1484621

    【讨论】:

      猜你喜欢
      • 2014-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-02
      • 2014-06-03
      • 2012-05-01
      • 2011-10-23
      • 1970-01-01
      相关资源
      最近更新 更多