我是 Java 的初学者,我正在尝试使用 IntelliJ 运行我的代码,该 IntelliJ 我刚刚安装为带有 JDK 1.7 的 IDE。以下代码甚至无法编译并不断给我错误:
Error: Could not find or load main class libTest
代码
import java.lang.Integer;
import java.lang.String;
import java.lang.System;
import java.util.*;
class book {
private String name = "trial";
private int bookCode=1;
private int issued=0;
public void Issue(){
if(issued==0) {
issued=1;
System.out.println("You have succesfully issued the book");
}
else {
System.out.println("The book is already issued. Please contact the librarian for further details");
}
}
public int checkCode() {
return bookCode;
}
String readName() {
return name;
}
public void setName(String newName){
name=newName;
}
public void setBookCode(int newCode){
bookCode=newCode;
}
}
class library {
private ArrayList books=new ArrayList();
public void getList(){
for(int bk:books){
String bName=books(bk).readName();
System.out.println((bk+1)+") "+bName);
}
}
}
public class libTest{
public static void main(String[] args){
library newLib= new library();
System.out.println("code working");
}
}
我必须在编译器设置中进行任何更改吗?或者是代码。
libTest.java
吗?
import java.lang...
对于 lang
包中的类,这会自动发生。
这可能会有所帮助:
1)“构建”菜单-> “Rebuild Project
”。有时 Intellij 不会重写这些类,因为它们已经存在,这样您就要求 Intellij 重写所有内容。
2)“运行”菜单-> “Edit configuration
”->删除个人资料 ->添加回配置文件(“应用程序”,如果它是 Java 应用程序),从“主类”下拉菜单中选择您的主类。
3)“构建”菜单-> “Rebuild Project
”。
如果上述答案都不适合您,只需关闭您的 IntelliJ IDE 并从项目的根目录中删除 IntelliJ IDE 文件和文件夹:
rm -rf .idea *.iml
然后用 IntelliJ 打开项目。它现在必须工作。
.idea
文件夹总能解决 JetBrains IDE 的所有问题 :)
https://i.stack.imgur.com/RE8gj.png
Rebuild Project
相同的工作。
我遇到了这个问题,我在阳光下尝试了所有我能想到的和在这个网站上的东西。
从远程分支拉出后,我的 Java 类都没有被拾取。在项目层次结构中,所有类的名称都是红色的 J,而不是蓝色的 C。
最后,我尝试按照本教程进行操作,并尝试了一些未描述的步骤并修复了问题:https://www.jetbrains.com/help/idea/creating-and-managing-modules.html
这是我所做的:
转到文件 |项目结构,或按 Crtl+Shift+Alt+S 在项目设置部分下选择模块。在“来源”选项卡中,单击“标记为:”行上的来源。单击应用按钮。
出于某种原因,当时我所有的课程都有蓝色 C。
对 IntelliJ 和/或 IDE 如何解释这种现象有更好理解的人,但我现在只知道它可以看到所有类,更重要的是主要的类,然后运行。
使缓存无效并重新启动您的 IntelliJ,它对我有用。
https://i.stack.imgur.com/Twezi.png
显式创建 out
文件夹,然后将输出路径设置为 C:\Users\USERNAME\IdeaProjects\PROJECTNAME\out
https://i.stack.imgur.com/ymJNY.png
仅在 out
时似乎对我有用,并且期望 IntelliJ 制作文件夹不会。
还可以尝试让 IntelliJ 为您提供新的运行配置:
通过单击找到上一个
https://i.stack.imgur.com/wuxkq.png
然后删除它
https://i.stack.imgur.com/Sv89T.png
并打好。
现在,(重要步骤)打开包含您的主要方法的类。这可能是通过单击左侧项目窗格中的类名最简单的方法。
给 'er 一个 Alt + Shift + F10 你应该得到一个
https://i.stack.imgur.com/mlEAZ.png
现在按Enter!
达达?? (成功了吗?)
main()
函数从 class Main
移至其他类时。在这种情况下,如上所示编辑运行配置并将“主类”的值更改为您的类名(完全限定)。
https://i.stack.imgur.com/mgrTZ.png
我知道这是不久前被问到的,但我只是在这个问题上磕磕绊绊,并认为我的发现可能对其他人有所帮助。正如所指出的,错误消息基本上是 out 文件夹的结果。这是因为,当您尝试运行程序时,它首先编译代码,并将编译结果放到 out 位置,然后尝试从 out 位置加载编译后的代码。如果编译后的代码不在预期的位置,您将收到错误消息。
我特别想分享的一点是,有时,即使您的运行配置在配置面板的“启动前”部分中指定了“构建”,代码也不会被编译(构建)。
这什么时候会发生?可能导致这种情况发生的一种情况是,如果您正在使用模块并且您手动删除了模块输出目录。例如,如果我有一个名为“foo”的模块,那么在 out/production 下应该有一个名为 foo 的目录。如果手动删除它,构建系统可能不知道它需要重新构建。
更糟糕的是,如果您选择 Build |构建模块'foo',它仍然可能无法重建模块。如果是这种情况,您应该在模块中选择一个文件,例如“bar.java”,然后选择 Build |重新编译'bar.java'。现在应该恢复 out 目录 out/production/foo。
由于 IntelliJ 通常知道正在发生的任何变化,这让我感到惊讶,并花了我一点时间来弄清楚,所以我想我会分享。
检查您的类模块:我遇到了 intellij 的这个问题:我有一个 Maven 多模块项目,问题是我运行的类在配置中不存在该模块,所以我的问题通过设置正确的模块来解决( “编辑配置”->“使用模块类”)
这可以帮助你吗
我必须将“src”文件夹标记为“Sources”。重新启动 IntelliJ 并重建项目后,我可以运行项目而不会出现其他问题(请参阅 screenshot)。编辑:您可以通过 File->Project Structure 或按 Ctrl+Shift+Alt+S 访问“Project Structure”选项卡。
https://i.stack.imgur.com/Ru6qF.png
当类在默认文件夹中时,即当类没有声明包时,我遇到了这样的问题。
所以我想在类的顶部使用包语句(例如package org.me.mypackage;
)应该可以解决它。
package org.confused.mailman;
org/confused/mailman
中,那么添加该软件包行将无济于事。
在 IntelliJ 中创建项目后,尝试运行以下命令:
mvn package
当我的 Java 类在 src/main/kotlin
下时,我遇到了这个问题。将其移至 src/main/java
后,问题就消失了。
我已经尝试了这里建议的所有黑客 - 无济于事。最后,我简单地创建了一个新的 Maven 应用程序并手动将 pom.xml 和 java 文件和资源一一复制到其中。现在一切正常。我是 IntelliJ 的新手,完全不为所动,但让它进入不稳定状态是多么容易。
就我而言,问题似乎与升级 IntelliJ 有关。当我这样做时,我用新 IntelliJ(2017 社区到 2018 社区)的文件覆盖了旧 IntelliJ 中的文件。在那之后,我所有的项目都被打破了。我尝试了这个线程中的所有内容,但没有一个有效。我尝试将 gradle 升级到最新版本(4 到 4.8),但没有成功。唯一对我有用的是删除整个 IntelliJ 文件夹并重新安装它。在那之后,我所有的项目都工作了。
idea\bin
)重命名为 idea_old\bin
,并将 %user%\username
中的设置文件夹(即 .IntelliJIdea2018.2
)重命名为 .IntelliJIdea2018.2_old
,然后重新提取 intellij zip 文件以开始使用它作为全新的便携式版本(这是版本 2018.2.1),带有多个独立模块(未在单个父 pom.xml 中链接)的 Spring Boot 应用程序,每个都是具有自己的 pom.xml 和瞧的 Spring Boot 应用程序!所有工作,创建目标文件夹,在通过 spring boot 仪表板运行之前编译。
无效缓存不起作用。
我用虚拟更改编辑了主类 java 文件并运行它。有效。
转到 File-> Invalidate Caches and Restart 。否则删除 rm -rf .idea *.iml 并重新启动 InteliJ
对我来说 - 我尝试了上面的几个选项,但没有奏效。然后我刚刚重命名了我的 Application 类,这可能迫使 intelliJ 构建一个新的 jar 并且错误消息开始改变。然后我将它重命名回来并且它起作用了。
将该目录标记为源目录。通过 Ctrl+Shift+Alt+S 打开
https://i.stack.imgur.com/Y4mw1.png
https://i.stack.imgur.com/eBPH7.png
modules.xml 内容错误,我不知道我的 IDEA 有什么问题。
我从其他地方继承了一堆 .JAVA 文件,但不知道如何让它们在任何 IDE 中工作。最终,我不得不转到 Main.JAVA 文件所在的命令行并运行 javac Main.java
。这创建了一堆 .CLASS 文件。然后,IDE 能够弄清楚要做什么。
使用 Scala/SBT 时出现此错误。即使一切设置正确,IntelliJ 也找不到主类。我的解决方案:删除 <user>/.sbt/<version>/plugins/target
文件夹,然后重新启动 IntelliJ。
您可能指定了错误的包,并且包层次结构不正确。往下看
https://i.stack.imgur.com/SDcSo.png
在这种情况下,ide 会突出显示错误的路径。
我将 IntelliJ 与 Spring 一起使用,我的主类包装在一个 JAR 中。我必须在“运行/调试”配置对话框中标记“包含具有“已提供”范围的依赖项”
我们在文件/项目结构中。答案可能是:
指示为“内容根目录”的文件夹需要代码所在的子文件夹。加上找到将代码标记为排除和不标记的按钮。不要与状态为已排除的复选框混淆,而无需说明处于哪个阶段和什么** 是编译器排除还是运行时排除?你注定要测试和抽签。所以没有那个复选框,只有图标和颜色。
作为一个想法,我们需要破解它最初被认为是如何工作的。他们从一开始就没有让它发挥作用,而是开始以过早的编码风格添加东西。已经这么多年了,你不能指望任何改进。但是作为治疗方法,我们可以找出一些方法来让它每次都正确。
您可以在此处检查的另一件事是传递给 JVM 的实际命令,并确保它看起来正常。滚动到运行控制台的顶部,它应该是第一行。
运行配置 VM 选项字段中的空格会使应用程序启动命令不正确,并可能导致此错误消息
-DsomeArgument="arg with space must be quoted"
我已经尝试了这里答案中建议的几乎所有内容,但对我没有任何帮助。
在尝试运行我的应用程序一小时后,我注意到我的项目路径包含非 ASCII 字符(阿拉伯字符)。在我将项目移动到没有非 ASCII 字符的路径后,它执行得很好。
我正在使用 Kotlin,但我猜测问题是一样的。我会启动一个项目,创建一个文件并将 main 添加到其中,但 IDE 找不到 main。我尝试了这个列表中的东西,但没有一个奏效。我终于在 IntelliJ 的一个页面上提到了我的挫败感,并得到了联系。当然,它适用于 IntelliJ。来回几天后,我注意到突出显示功能不起作用并提到了这一点。结果发现IDE设置有问题。我仍然不知道具体出了什么问题,但我的解决方法是重置 IDE 设置。文件->管理 IDE 设置->恢复默认设置。在此之后,我的主要功能左侧可以看到绿色三角形开始图标,并且后续项目继续正常工作。感谢 JetBrain 的 Konstantin 对他的耐心支持。
在创建项目时选择 maven 作为类型(不要选中 create from archetype 复选框) 在项目资源管理器中,右键单击 src 下 main 下的 java 选择新类 使用 public static void main 完成类 从运行菜单中选择运行
https://i.stack.imgur.com/kG0Wq.png
Rebuild Project
为我工作!"Build" menu -> "Rebuild Project
- 完成了任务!谢谢rebuild project
解决了我的问题。谢谢!