程序在使用scala运行时有效,在尝试使用scalac编译时会出现编译错
发布时间:2020-12-16 08:58:59 所属栏目:安全 来源:网络整理
导读:我正在测试下面的代码,做一个基本的数据库查询.当我使用“ scala dbtest. scala”从CLI运行它时,它工作正常,但是当我尝试使用scalac编译它时,会给我编译错误: [sean@ibmp2 pybackup]$scalac dbtest.scaladbtest.scala:5: error: expected class or object d
我正在测试下面的代码,做一个基本的数据库查询.当我使用“
scala dbtest.
scala”从CLI运行它时,它工作正常,但是当我尝试使用scalac编译它时,会给我编译错误:
[sean@ibmp2 pybackup]$scalac dbtest.scala dbtest.scala:5: error: expected class or object definition val conn_str = "jdbc:mysql://localhost:3306/svn?user=svn&password=svn" ^ dbtest.scala:8: error: expected class or object definition classOf[com.mysql.jdbc.Driver] ^ dbtest.scala:11: error: expected class or object definition val conn = DriverManager.getConnection(conn_str) ^ dbtest.scala:12: error: expected class or object definition try { ^ four errors found import java.sql.{Connection,DriverManager,ResultSet}; import java.util.Date // Change to Your Database Config val conn_str = "jdbc:mysql://localhost:3306/svn?user=xx&password=xx" // Load the driver classOf[com.mysql.jdbc.Driver] // Setup the connection val conn = DriverManager.getConnection(conn_str) try { // Configure to be Read Only val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY) // Execute Query val rs = statement.executeQuery("SELECT * FROM backup") // Iterate Over ResultSet var svnFiles = Set[String]() while (rs.next) { val repos = rs.getString("repos") val lm = rs.getDate("lastModified") val lb = rs.getDate("lastBackedup") if (lm.getTime() > lb.getTime()) { println(repos + " needs backing up") svnFiles += repos } else { println(repos + " doesn't need backing up") } } println(svnFiles) } finally { conn.close } 解决方法
您需要顶层的类,对象或特征才能使其成为合法的编译源. scala解释器期望定义和表达式,而scalac期望可以变成Java .class文件.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |