错误:无法找到或加载主类[Intellij]

时间:2018-06-14 13:27:19

标签: java maven intellij-idea

我正在努力通过“运行”按钮在IntelliJ中运行单元测试或主要方法。 (项目是通过maven建立的)

这是我的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.andrew.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>

  <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
    <java.version>1.8</java.version>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

这是我的项目目录:

├── my-app.iml
├── pom.xml
├── src
│   ├── main
│   │   └── java
│   │       └── com
│   │           └── andrew
│   │               ├── app
│   │               └── Hello.java
│   └── test
│       └── java
│           └── com
│               └── andrew
│                   ├── app
│                   └── HelloTest.java
└── target
    ├── classes
    │   └── com
    │       └── andrew
    │           └── Hello.class
    ├── generated-sources
    │   └── annotations
    └── maven-status
        └── maven-compiler-plugin
            └── compile
                └── default-compile
                    ├── createdFiles.lst
                    └── inputFiles.lst

我尝试了以下内容:

  • 将Project的编译器输出设置为{project directory}/target
  • 使缓存无效并重新启动,重建
  • 在./target/classes中运行java com.andrew.Hello会返回Hello World
  • ./src/main/java设为来源

但我仍然无法解决问题。

4 个答案:

答案 0 :(得分:0)

在项目视图中右键单击Hello - &gt; “运行Hello.main()”应该适合你。

答案 1 :(得分:0)

<强>解决方案

在项目结构中 - &gt;编译器输出,我已经正式声明/home/andrew/IdeaProjects/Maven:The-Definitive-Guide/my-app/classes

我必须将其更改为:/home/andrew/IdeaProjects/Maven_The_Definitive_Guide/my-app/classes

答案 2 :(得分:0)

你需要在这里确定一些事情......

检查以确保所有测试方法都使用{@Test}进行注释 - 请参阅下面我添加的图像。

一旦对它们进行了全部注释,您应该能够右键单击该文件,并且选项应该是运行测试,执行此操作后 - 运行按钮会自动添加最新的运行配置,这是您运行的最后一项操作,因此它应该出现在Run按钮

Java Unit Test Example Intellij

答案 3 :(得分:0)

对于我来说,我在IntelliJ Run-Edit Configuration中添加了一个Maven运行命令,并将命令行参数设置为clean install spring-boot:run,在Mac终端中它像运行命令./mvnw clean install spring-boot:run一样。