2016-09-05 9 views
0

scala 2.11プログラムでjava 8でjava.time packageを使用できるかどうかを知りたかったですか?Scala 2.11でJava 8を使用する

どのように私のsbtプロジェクトに追加するには?

+0

java 8でコンパイルしている場合は、「使用する」ことができます。 SBTに何かを追加する必要はないと思ってください。 これを試しましたか? –

+0

[SBTにJava 8の使用を強制する方法](http://stackoverflow.com/questions/25926111/how-to-force-sbt-to-use-java-8) –

+0

@ antoine-sacいいえ、それはそれの複製ではありません。この質問は、OPがsbtプロジェクトでJavaライブラリの使用を理解しようとしている初心者であることを明確に示しています。 –

答えて

-2

Scalaの2.12に沿って来るまで、Javaの6、7、または8は その作り付けのパッケージのいずれかと共に使用することができ、java.timeは作り付けのpackage.Soが を使用することができます。しかし、最新のリリースであるScala 2.12は、Java 8のみをサポートしています。いずれの場合も、はJava 8で使用できます。

明示的Scalaで、このパッケージをしたい場合、あなたはジョダ-time.ItsのApacheによって提供される個々のJava.time APIによって置き換えられ、そのSBT file.On Mavenの中央にJava.timeの依存関係を追加する必要があります。

追加使用するにhttps://mvnrepository.com/artifact/joda-time/joda-time

で見つけることができます:

(
libraryDependencies += Seq("joda-time" % "joda-time" % "2.3" 
          , "org.joda" % "joda-convert" % "1.6" 
// other dependencies 
          ) 

をあなたにファイルSBT。

Joda-timeのScalaコンパイルにはjoda-convertが必要です。実際にオブジェクトをStringとの間で変換します。

:あなたが明示的java.time Scalaの実装を使用する場合のGithub上Scal-Java-timeリンクを見つけます。

3

プロジェクトに何も追加する必要はありません。 java.timeはJavaの標準部分であり、外部の第三者の依存関係ではありません。

は、あなたは自分の顧客はこれがSBTとは何の関係もないのJava 8

にあなたのコードを実行することを確認する必要があります。 SBTはビルドツールです。それはどのようにコンパイルあなたのコードについてです。しかし、あなたの問題は、あなたの顧客をどのように制御する必要があるということです。あなたのコードを実行してください。あなたのコードがJava 8以上でしか動作しないことをドキュメントに記述することで、簡単に行うことができます。実際にお客様の顧客がそのドキュメントを読むことを願っています。メインコードを実行する前にJavaバージョンをチェックするランチャーを使用して、適切なエラーメッセージを表示することができます。

+0

こんにちは、私はscala 2.11.5を使用していますが、java.timeをインポートできません。これは私のscalaバージョンでサポートされていますか? – Luckylukee

+1

'java.time'はJavaの一部です。 Scalaには何も関係ありません。それはその名前に "Java"を持っています!スカラのバージョンは完全に完全に無関係です。 Java 8をお持ちの場合は、 'java.time'があります。 Java 8を使用していない場合は使用できません。 Scala 2.11.5、Scala 2.11.8、Scala 2.12、Scala 1.0、Clojure、Groovy、Kotlin、Ceylon、Fantom、Ruby、Python、JavaScript、PHP、Scheme、CommonLisp、Java、またはそれを使用しているかどうかは関係ありません。他の言語。 –

関連する問題