【发布时间】:2019-07-18 17:18:17
【问题描述】:
我有一个通过运行 sbt package 创建的 jar
我已经在 build.sbt 的 jar 中设置了主文件
mainClass in (Compile, packageBin) := Some("com.company.mysql.Main")
addCommandAlias("updatemysql", "runMain com.company.mysql.Main")
我试过了
sbt "runMain target/scala-2.12/update-mysql_2.12-0.1-SNAPSHOT.jar"
sbt target/scala-2.12/update-mysql_2.12-0.1-SNAPSHOT.jar com.company.mysql.Main
sbt target/scala-2.12/update-mysql_2.12-0.1-SNAPSHOT.jar:com.company.mysql.Main
sbt update-mysql-assembly-0.1-SNAPSHOT.jar/run
sbt run update-mysql-assembly-0.1-SNAPSHOT.jar
^ 这给出了No main class detected,即使在 build.sbt 中设置了主类,如上面几行所示。
我需要通过 sbt 运行 jar,因为这是我知道如何使用 -Dpath.to.config.param=new_value 覆盖 jar 中包含的配置文件的唯一方法
【问题讨论】:
-
你的意思是
java -Dpath.to.config.param=new_value -jar target/scala-2.12/update-mysql_2.12-0.1-SNAPSHOT.jar之类的东西? (Java 参数在-jar之前,程序参数在它之后)。 -
是的,也可以