Ich habe ein SBT-Projekt in dieser Struktur:Mehrere Zielverzeichnisse in sbt Projekt bauen
.
├── build.sbt
├── project
│ ├── build.properties
│ └── plugins.sbt
└── src
├── main
│ └── java
│ └── smcho
│ └── App.java
└── test
└── java
└── smcho
└── AppTest.java
Mit sbt package
, ich habe drei Zielverzeichnisse und target2 und ziel3 haben eine ähnliche Struktur.
.
├── build.sbt
├── project
│ ├── build.properties
│ ├── plugins.sbt
│ ├── project
│ │ └── target <---------- TARGET 1
│ └── target <---------- TARGET 2
│ ├── config-classes
│ ├── resolution-cache
│ ├── scala-2.10
│ └── streams
├── src
│ ├── main
│ │ └── java
│ └── test
│ └── java
└── target <--------------- TARGET 3
├── resolution-cache
│ ├── com.example
│ └── reports
├── scala-2.11
│ ├── classes
│ └── hello_2.11-0.1.0.jar
└── streams
├── $global
└── compile
Warum so? Interessanterweise entfernt sbt clean
die Zielverzeichnisse nicht, gibt es eine Möglichkeit, ein einfaches Ziel zu haben, damit ich sie leicht entfernen kann?
Dies wird build.sbt:
lazy val hello = taskKey[Unit]("An example task")
val junit = "junit" % "junit" % "4.11" % "test"
lazy val commonSettings = Seq(
organization := "com.example",
version := "0.1.0",
scalaVersion := "2.11.4"
)
lazy val root = (project in file(".")).
settings(
commonSettings: _*
).
settings(
hello := { println("Hello!") },
name := "hello",
libraryDependencies += junit
)
Und wenn Sie wirklich alle generierten Dateien überall löschen wollen, dann ist 'git clean' genau dafür da. –