我目前正在尝试编辑更大的java项目。在阅读了如何入门的建议之后,我决定首先尝试构建项目以使用一些代码,看看我是否能够理解项目的层次结构。
不幸的是,我似乎甚至无法解决一些基本问题,例如缺少包导入,而且我不确定解决它们的最佳方法是什么。我目前在IntelliJ上设置我的项目来从我的git repo中提取,并且缺少一些包并显示如下错误:
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.HttpEntity;
但是,对于每个导入语句,http都以红色下划线。我猜这是一个缺失的依赖?解决这个问题的最佳方法是什么?
build.sbt文件:
import AssemblyKeys._
assemblySettings
organization := ""
name := "service"
version := "1.0"
scalaVersion := "2.10.2"
mainClass in assembly := Some("")
jarName in assembly := { s"${name.value}-${version.value}.jar" }
val deployDevTask = TaskKey[Unit]("deploy-dev", "Copies assembly jar to a dev remote location")
val devNode = ""
deployDevTask <<= assembly map { (asm) =>
val local = asm.getPath
val remote = devNode + ":" + "/tmp/" + asm.getName
println(s"Copying: $local -> $remote")
Seq("scp", local, remote) !!
}
答案 0 :(得分:1)
将以下内容添加到 $query ='SELECT * FROM [master].[dbo].[TestTbl] WHERE Agentd_ID = "$_SESSION['agentid']" ';
:
build.sbt
然后将图标隐藏在IntelliJ IDEA的左下角,该图标将显示不同视图的列表 - 选择libraryDependencies += "org.apache.httpcomponents" %% "httpclient" % "4.5"
。 (如果您没有看到SBT
,请进入首选项并将其添加为插件。)
在SBT
视图中,点击“刷新”图标(这是第一个图标)。观看它下载依赖项。如果它无法下载依赖项,它将弹出一条消息。
最后红色下划线应该消失。
答案 1 :(得分:0)
撰写本文时的正确答案是添加bjfletcher所述的行,但使用单%而非双倍:
libraryDependencies += "org.apache.httpcomponents" % "httpclient" % "4.5"
从sbt docs http://www.scala-sbt.org/1.0/docs/Library-Dependencies.html开始,当使用双百分比(%%)时,sbt会将项目的Scala版本添加到工件名称中。通常这不是您想要的,因为稍微不同的Scala版本的版本将是兼容的,并且可能没有可用的精确版本匹配。
使用单个百分比意味着即使与Scala版本不完全匹配,您也会获得版本。