【发布时间】:2015-09-17 23:02:23
【问题描述】:
我目前正在尝试编辑一个更大的 java 项目。在阅读了有关如何开始的建议后,我决定先尝试构建项目,以尝试一些代码,看看是否可以了解项目的层次结构。
不幸的是,我什至无法解决一些基本问题,例如缺少包导入,而且我不确定修复它们的最佳方法是什么。我目前在 IntelliJ 上设置我的项目以从我的 git 存储库中提取,并且一些包丢失并显示如下错误:
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) !!
}
【问题讨论】:
-
您的 Git 存储库是否包含任何 jar 文件,或者它是否使用构建系统?如果它使用 maven/gradle 作为构建系统,你会看到一个名为“pom.xml”或“build.gradle”的文件——对你来说是这样吗?
-
这是一个 Scala 项目吗?
build.sbt用于控制 scala 构建工具,该工具会下载依赖项,然后使用它们和您的源代码来构建您的项目。您可能需要安装 IntelliJ/IDEA 插件才能使用该构建文件进行构建。 -
如果您在帖子中至少发布了 build.sbt 的依赖项部分作为编辑,这可能会有所帮助。
-
好的,据我所知,Jar 中似乎没有依赖项。这意味着您可能需要手动获取 jars 并添加它们(尽管我没有使用 SBT 或 Scala 的经验,所以我不愿意发布最终答案)
-
感谢您的帮助!
标签: java scala intellij-idea dependencies packages