记软构实验中IDEA配置问题

使用idea完成实验会遇到一些配置问题,在这里记录和总结一下。

首先要了解IDEA和Eclipse两个IDE之间的一些区别。

 

先来看看lab1。要求的lab1结构如下。

.Lab1
├── src
│   ├── P1
│   │   ├── MagicSquare.java
│   │   └── txt
│   │       ├── 1.txt
│   │       ├── 2.txt
│   │       ├── 3.txt
│   │       ├── 4.txt
│   │       └── 5.txt
│   ├── P2
│   │   ├── .gitignore
│   │   ├── rules
│   │   │   ├── RulesOf6005.java
│   │   │   └── RulesOf6005Test.java
│   │   └── turtle
│   │       ├── Action.java
│   │       ├── DrawableTurtle.java
│   │       ├── LineSegment.java
│   │       ├── PenColor.java
│   │       ├── Point.java
│   │       ├── Turtle.java
│   │       ├── TurtleGUI.java
│   │       ├── TurtleSoup.java
│   │       └── TurtleSoupTest.java
│   └── P3
│       ├── FriendshipGraph.java
│       └── Person.java
└── test
    └── P3
        └── FriendshipGraphTest.java

这里,如果clone下github上给的几个文件,会有一个问题。就是在包P1下还会有一层src。而P1是包,没有src,无法在P1下建立java文件。

更为迷惑的是,点开RulesOf6005Test.java,发现爆红,提示的解决方案是讲rules改为P2.rules。但是,思考一下文件的结构,P1,P2,P3都是应该是能够独立运行的java程序,那么这里编译器提示的改动就不合理了。rules 应该是以 P2 作为顶层目录下的一个 package。

 那么如何更改?

通过之前对两个编译器的比较,可以知道这里的P1,P2,P3应该设置为模块Module。在Project setting中new一个模块,并且选中要改为模块的P1,P2,P3就行。

根据实验要求,我们 MagicSquare.java 应处于 P1 的根目录而不是 P1 的 src 子目录下。解决方法是:选择 src ,然后将上方的 Sources 按钮取消选中,删除 P1 下的 src 文件夹,最后选择 P1 根目录本身,选中 Sources 将其作为 P1 模块的 Sources Root 。
以下是效果图。

 

P2是类似的。而Test还要注意两点。

1.因为Test是测试P3的,所以要设置其为Test resources Root。

 

2.设置依赖项,要把其dependency加入P3。

最终效果如下:

 

Lab2也是类似,只是要注意一点,在Poem Walk问题中,实现test时,明明输入的文件路径正确,但是就是提示找不到文件路径。

 

这个问题困扰了很久,其实也是和上面的配置有关。由于P1Test设置成了模块,依赖于P1。但是Junit运行路径和用main运行不一样,与实际文件路径不同。测试默认的运行方式是模块依赖。将运行方式从模块依赖改为项目依赖,就能找到文件路径并正常运行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值