在IntelliJ中创建Java包

时间:2017-09-25 19:40:39

标签: java intellij-idea

我已经使用Eclipse一段时间了,我无法理解我在IntelliJ中的第一个项目发生了什么。我已经阅读了文档,并搜索了其他问题,但我仍然无法理解它。我认为我的项目结构有问题。这就是我的结构目前的样子;

IntelliJ Project Structure

我正在尝试运行JavaForLoop类,但是每当我这样做时,编译都会失败,因为我在StringMethods包的strings类中有错误。我的问题是,如果两个类在单独的包中,为什么会阻止编译?这两个类都没有使用另一个,它们都有适当的package声明语句。在Eclipse中具有类似的结构,这将起作用。我应该使用不同的项目结构吗?

3 个答案:

答案 0 :(得分:1)

默认情况下,IDEA会添加在启动之前执行的构建配置,并包含以下步骤(取自here):

  • 在模块的源路径中编译源代码并将结果放入输出路径。
  • 在模块的测试路径中编译源代码并将结果放入测试输出路径。
  • 在输出路径中创建资源文件的副本。
  • 在“消息”工具窗口中报告问题。

enter image description here

在“编辑配置”屏幕中检查您的情况是否属实,如果是,请将其删除。

答案 1 :(得分:0)

要使用其他包中的类,必须向该类声明一个import语句。

在你的JavaForLoop.java中,在class语句之前添加导入(并在包声明之后添加它的情况)

//package ...
import strings.StringMethods;
//public class JavaForLoop { and the rest of the code

答案 2 :(得分:0)

Intellij使用常规javac,如果代码中的任何地方有错误,将无法编译。

Eclipse拥有自己的编译器,它允许编译甚至运行具有编译错误的代码,如果运行有错误的代码的任何部分,则会导致运行时异常。这允许您运行部分代码,即使其他代码片段失败也是如此。

简单的解决方案是解决编译错误。你也可以在Intellij中使用eclipse编译器,但我从来没有这样做过,所以我无法评论它的工作情况。