java - SBT SCALA java.lang.ClassNotFoundException: javax.mail.Authenticator
问题描述
我有 SBT Scala 项目,它向用户发送包含一些信息的电子邮件。使用 IntelliJ 运行它一切正常,但我需要构建项目,放在服务器上并从终端运行。
在第一步中,我使用以下命令来构建项目:
sbt clean 编译包
之后我尝试通过以下方式运行它:
scala目标/scala-2.12/project_name_sbt_2.12-0.1.jar
然后我得到了错误:
java.lang.ClassNotFoundException: javax.mail.Authenticator
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
它是命令行应用程序,我不使用 Tomcat 和其他容器。施工简单易行。我有一个主要课程,例如:
object MyApp extends App {new SomeService().run()}
我有 build.sbt 喜欢:
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "3.0.5" % "test",
"mysql" % "mysql-connector-java" % "5.1.16",
"org.jsoup" % "jsoup" % "1.11.2",
"joda-time" % "joda-time" % "2.10.1",
"org.apache.commons" % "commons-email" % "1.5"
)
你能给我指出解决这个问题的正确方向吗?怎么了?
解决方案
我通常使用这个插件来创建 jar。尝试将其添加到您的 plugins.sbt 文件中
并运行此命令来创建 jar:
sbt "set test in assembly := {}" assembly
然后尝试再次运行你的 jar。
推荐阅读
- python - Pandas 异常返回 TypeError 无法对切片索引
使用这些索引器 [310] - c++ - 如何对迭代器的模板特化进行排序?
- css - 背景大小/位置 - 覆盖宽度,并与顶部的最小偏移量
- elasticsearch - 如何在 Elasticsearch (5.2.0) 上正确设置索引以使用音译和词形还原?
- algorithm - 检查大小为 N 的 ArrayList 中是否有两个数字的和为 N
- angular - 如何使用 ngrx/router-store 维护参数
- templates - Typo3 6.2:+ext 模板
- outlook-addin - Outlook 2013 未发送启用harmon.ie 的会议回复
- django - Django获取请求获取类中的参数
- python - 将自定义比较与python 3中的键选择相结合