我有一个带有所有文件和文件夹的旧项目,其jar文件(xyz_2.11-1.0.jar
)位于targetscala-2.11
文件夹,我将其删除以替换为一个新的新项目…我这样做和重做,最终结果相似:
-
cd xyz
-
sbt
:说"[info]从程序集加载设置。sbt……"> -
compile
: say "[success]总时间:11秒,完成"> -
package
: say "[success]总时间:6秒,完成">
但是targetscala-2.11
文件夹是空的,没有新的jar文件!
如何编译和生成jar文件?
使用最新的稳定版本sbt 1.4.7而不是2018年的sbt 1.1.5来检查行为可能是一个好主意。因为你似乎错过了一个补丁版本的修复。
该问题在2018年报告为https://github.com/sbt/sbt/issues/4118,后来由dadarakt在2018年修复为https://github.com/sbt/sbt/pull/4161,并在sbt 1.1.6中发布。
当我更改源代码(任何在/src/main
)过程保存jar文件.
所以,SBT v1.1.5的逻辑是:没有更改时不保存jar…这不是一个错误,但可能需要下一个SBT版本的新问题:如果没有jar文件(已删除),则需要保存一个。
更改"详细级别"。我使用logLevel := Level.Info
和logLevel := Level.Debug
。
关于jar文件的完整路径,只有Debug
"详细级别"显示,
[debug] No changes
[debug] Jar uptodate: C:UsersmyUseretcxyztargetscala-2.11xyz_2.11-1.0.jar
但是dir C:UsersmyUseretcxyztargetscala-2.11xyz_2.11-1.0.jar
显示"文件未找到"。源代码更改后仅它保存。