Java Maven 无法找到或加载主类

标签 java maven

我刚刚开始学习Java,但几乎每一步都遇到问题...... 至少我想做this super simple getting started tutorial工作(来自官方 Maven 页面):)

我已经完成了本教程中的每一步,并构建了项目,但无法运行它。

所以,在mvn package之后我已经BUILD SUCCESSFUL但是当我尝试通过这个命令启动jar文件时java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App 发生错误:

Error: Could not find or load main class com.mycompany.app.App
Caused by: java.lang.ClassNotFoundException: com.mycompany.app.App

如何解决?

java 版本“11.0.1”2018-10-16 LTS

Apache Maven 3.6.0

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

此命令自动创建项目结构,如文档中所示

my-app
 |-src
 |  |-main
 |     |-java
 |        |-com
 |           |-mycompany
 |              |-app
 |                 |-App.java
 |-pom.xml
 |-target

以及App.java代码:

 package com.mycompany.app;

 /**
  * Hello world!
  *
 */
 public class App 
 {
     public static void main( String[] args )
     {
        System.out.println( "Hello World!" );
    }
}

pom.xml文件:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>maven-test</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>maven-test</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <properties>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
  </properties>
</project>

此外,我还必须添加这些行才能使 mvn package 命令工作:

<properties>
   <maven.compiler.source>1.6</maven.compiler.source>
   <maven.compiler.target>1.6</maven.compiler.target>
</properties>

最佳答案

您可以使用这 4 个命令重试:

> mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
> cd my-app
> mvn package
> java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

enter image description here

关于Java Maven 无法找到或加载主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53296554/

相关文章:

java - Websocket 示例将不起作用

java - Java内置的声音框架中,一个音源流可以有多个消费者吗?

java - GCM 规范 ID

java - Maven Java GAE编译错误

java - 碧 Jade 报告 : Font extension not working

java - 在 eclipse for spring 中运行单元测试时将 src/main/resources 添加到类路径

java - Mojo 执行异常 : Maven with Android

java - 为什么使用 Collections.binarySearch() 时得到错误答案

java - Java中的finalize()方法什么时候被调用?

java - 如何知道哪个 PMD 规则失败?