Ho un progetto che raccoglie le dipendenze per un programma di installazione (sbt-install4j) utilizzando dependencyClasspath
. Funziona maggior parte del tempo, tranne quando ho una dipendenza specifica:Dipendenza mancante dal classpath
libraryDependencies += "org.bytedeco" % "javacpp" % "0.10"
"javacpp" non verrà aggiunto alla dependencyClasspath
. È possibile creare un progetto semplice SBT solo con la dipendenza sopra e tenta show dependencyClasspath
, verrà stampata:
[info] List(Attributed(C:\Users\me\.sbt\boot\scala-2.10.4\lib\scala-library.jar))
non c'è "javacpp". Qualsiasi indizio che cosa potrebbe accadere? Si tratta di un bug SBT?
Lo fa anche con 'classpathTypes + =" maven-plugin "'? –
Sì. aggiungendo 'classpathTypes + =" maven-plugin "' aggiunge dipendenza al classpath. Grazie per averlo indicato. Diventa un po 'noioso nei progetti multi-modulo. Ad esempio, il modulo 'B' dipende da' A' e 'A' dipende da javacpp. 'A' ha' classpathTypes ... ', il modulo' B' dovrà aggiungere anche 'classpathTypes ...'. Il mio problema originale era con il progetto multi-modulo. La tua correzione funziona lì, ma deve essere aggiunta anche al modulo principale. – Jarek
Mi chiedo perché dobbiamo dire a SBT di caricare i plug-in Maven in modo esplicito? Potremmo anche risolvere il problema suddividendo l'artefatto in due, con un plugin Maven di tipo 10KB, ma credo che sarebbe confuso ... –