在与sbt合作时,我在很多地方都面临着缓慢
- 在Intellij进口SBT项目 - 大约(8-10分钟).
- SBT项目的Intellij索引.
sbt(在终端中,此命令需要 - 大约(2-3分钟)).compile(在sbt shell中,此命令需要 - 大约(3-5分钟)).
5.无论何时我修改build.sbt文件,项目刷新需要3-4分钟.
我需要检查更多的地方,但我经常面对的指定点以上.
此问题是否与SBT或Scala有关?,如果是,如何解决相同问题
注意:我有良好的互联网连接,所以这不是网络问题.
我的Scala类文件:
import org.scalatest._
class TaskManagerSpec extends FlatSpec with Matchers {
"An empty tasks list" should "have 0 tasks due today" in {
val tasksDueToday = TaskManager.allTasksDueToday(List())
tasksDueToday should have length 0
}
}
Run Code Online (Sandbox Code Playgroud)
build.sbt
name := "tasky"
version := "0.1.0"
scalaVersion := "2.11.6"
resolvers += "Artima Maven Repository" at "http://repo.artima.com/releases"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"
Run Code Online (Sandbox Code Playgroud) 我从Effective Java一书中读到了下面提到的这两个陈述
1
不幸的是,JavaBeans模式本身就存在严重的缺点.因为构造是跨多个调用分开的,所以JavaBean可能在其构造的中途处于不一致状态.类只能通过检查构造函数参数的有效性来强制执行一致性.尝试在对象处于不一致状态时使用该对象可能会导致与包含该错误的代码相差甚远的失败,因此难以调试.
第2
相关的缺点是JavaBeans模式排除了使类不可变的可能性(第15项),并且需要程序员的额外努力来确保线程安全.可以通过在物体构造完成时手动"冷冻"物体并且不允许其在冷冻之前使用来减少这些缺点,但是这种变型是笨重的并且在实践中很少使用.此外,它可能会在运行时导致错误,因为编译器无法确保程序员在使用它之前调用对象上的冻结方法.
,我无法理解这两个陈述究竟要传达的内容,你们能帮助我理解上述陈述吗?
更新
我在这篇文章中已经阅读了答案(不是全部),大多数社区成员都建议我使用,Constructor Pattern但在同一本书中这些内容已经说过了
静态工厂和构造函数共享一个限制:它们不能很好地扩展到大量可选参数.考虑表示包装食品上出现的营养成分标签的类别的情况.这些标签有一些必需的字段 - 份量,每个容器的份量和每份的卡路里 - 以及超过20个可选字段 - 总脂肪,饱和脂肪,反式脂肪,胆固醇,钠等.大多数产品只有少数这些可选字段具有非零值.
对于这个场景,我们使用telescoping构造函数模式
伸缩构造函数模式有效,但是当有很多参数时很难编写客户端代码,并且仍然难以阅读它.读者会想知道所有这些值是什么意思,必须仔细计算参数才能找到.相同类型参数的长序列可能会导致细微的错误.如果客户端意外地反转了两个这样的参数,编译器就不会抱怨,但程序在运行时会出错
这就是为什么suugested使用JavaBeans结束constructor pattern
我在我的一个 AngularJs 项目中使用https://www.ag-grid.com/。我的要求是在任何分组发生时禁用任何列的排序。
我知道我们可以sorting/filtering使用以下配置禁用单列:
colDef.suppressMenu = true
colDef.suppressSorting = true <--- this i can set up while giving column definition
Run Code Online (Sandbox Code Playgroud)
在此,我按国家/地区对网格进行分组并扩大爱尔兰国家/地区,但现在我不禁用对任何参数的排序,并在删除分组属性时再次启用它。
有没有办法实现这一点,请告诉我,如果已经存在任何重复的问题,请在评论部分添加。
谢谢
我正在使用Mapstruct在不同的 Java Bean 之间进行映射,但是在安装最新的 IntelliJ 更新后,编译失败并出现错误:
Compilation error: duplicate class
Run Code Online (Sandbox Code Playgroud)
这是 IntelliJ 的版本详细信息
IntelliJ IDEA 2019.1 (Ultimate Edition)
Build #IU-191.6183.87, built on March 27, 2019
JRE: 1.8.0_202-release-1483-b39 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.3
Run Code Online (Sandbox Code Playgroud)
编译错误:
Error:(14, 8) java: duplicate class: com.company.mapper.GMapperImpl
Run Code Online (Sandbox Code Playgroud) 我想按字母顺序对值进行排序,忽略区分大小写并返回键列表.
/**
* This method will sort allCostPlanDetailsRows based on Value in <Key,Value> pair
*
* @param sortingOrder_ whether to sort the LinkedHashMap in Ascending order or Descending order
* @return List<String> returns List of costPlanDetailsRowId in sorted order
*/
private List<String> sortCostPlanDetailRows( SortingOrder sortingOrder_ )
{
return _allCostPlanDetailRows
.entrySet()
.stream()
.sorted( sortingOrder_ == SortingOrder.DESC ? Map.Entry.<String, String>comparingByValue(Comparator.nullsFirst(Comparator.naturalOrder())).reversed() : Map.Entry.comparingByValue(Comparator.nullsFirst(
Comparator.naturalOrder())) )
.map( Map.Entry::getKey )
.collect( Collectors.toList() );
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
注意:如果我可以改进上面的代码,欢迎提出建议.
这个问题类似于Eclipse的问题,但是具有不同的IDE。
如何在IntelliJ IDEA中将现有Java添加到git中?
当前状态:
我可以签出新的存储库,将项目的内容复制到此目录中,然后推送到master,但是IDE中是否有一种更简单的方法来避免更改项目的位置?
我正在看Jhipster4 入门,在本教程中,这家伙使用以下命令导入了一个 Maven 项目:
idea pom.xml <---- This is the Command line tool provided by Intellij guys
Run Code Online (Sandbox Code Playgroud)
我也想在我的本地配置相同的,按照Intellij官网的建议尝试配置它但intellij要求提供工具路径,我不知道应该是什么,请检查快照以更清楚。
java中有什么方法可以做到这一点吗?我想要它来计算那样的时间.0950-0900是50分钟但是1700-1610 = 50分钟而不是90,1900-1710 = 110而不是190.谢谢:)
我应该使用哪种方法?
这个
Select * from table1,table2 where table1.id=table2.id;
Run Code Online (Sandbox Code Playgroud)
要么
Select * from table1 inner join table2 on table1.id=table2.id;
Run Code Online (Sandbox Code Playgroud)
注意: Id是foriegn Key.