2012-02-27 21 views
0

SBTに標準Javaライブラリを追加する方法例えば、私のクラスでは、これらの輸入に依存しています:SBTを使用してコンパイルしようとするとSBTで標準Javaライブラリを追加

import javax.mail._ 
import javax.mail.internet._ 
import java.util.Properties 

私は例えば、これらを使用する場合は失敗します。ここでは

[error] /Users/jacobus/scalaprojects/doxy/src/main/scala/EmailService.scala:6: expected class or object definition 
[error] val props = new Properties(); 

ソースです:

import java.util.Properties 
import javax.mail._ 
import javax.mail.internet._ 

val props = new Properties(); 
props.put("mail.smtp.host", "localhost"); 
props.put("mail.smtp.auth", "true"); 
props.put("mail.smtp.starttls.enable","true"); 
props.put("mail.debug", "true"); 
val session = Session.getInstance(props); 
val message = new MimeMessage(session); 
message.setFrom(new InternetAddress("[email protected]")); 
message.setRecipients(Message.RecipientType.TO, "[email protected]"); 
message.setSubject("This is the Subject"); 
message.setText("This is the Message"); 
val transport = session.getTransport("smtp"); 
transport.connect("localhost","username","password") 
Transport.send(message); 
+1

エラーはインポートに相対的ではなく、クラス内のクラス/オブジェクト定義が不足しているようです。それは事実でしょうか? – Nicolas

+0

私はそれがあったと思うが、コードはIdeaで正常に動作する。私はSBTでコンパイルできません – Jack

+0

Twitter Finagleライブラリもjavaxに依存していて、それを含んでいない前にこの問題が発生しました。 – Jack

答えて

3

ことコンパイル可能なコードではありません:スクリプトです。スクリプトは実行できますが、コンパイルできません。

object MyApp extends App {のように、標準のアプリケーション宣言内その原料を入れて、あなたはこの1 エラーが出ますが、ない場合があります。

+1

ありがとうD.私は金髪の瞬間をしていました。それは私にその日のdufus賞を与えます。 – Jack

関連する問題