私はScalaで記述されたアプリを持っていて、チームメンバーの何人かはそれのJavaバージョンを望んでいます。これは、Scalaで作成された別のAPIを使用するデモアプリであり、JavaバージョンのアプリでJavaからAPIを使用できるようにしたいと考えています。ただし、アプリはやや大きく、Javaで手動でreweriteしたくありません(そして、Scalaを学びたくありません)。 JavaコードからScalaコードを自動的に生成(読み取り可能)するツールはありますか?
JavaアプリのバージョンがJavaからAPIを使用できるようにしたい
ScalaクラスはJavaから使用できます(結局のところすべてがJVMバイトコードであるため))使用するクラスを含むjarをパッケージ化できますか?
scala標準に戻すJava Scalaがかなり低レベルであるため、バイトコード操作。90%は、通常のJavaコードに正確に変換できないいくつかのことを行うと確信しています。
いいえ、そのようなツールはありません。
Scalaはある意味でJavaのコーヒースクリプトです。 coffescriptのすべてのファンキーなクラスが 翻訳済み からjavascriptにどのようになっているのか見てください。同じ*はscalaでも同じです。
Javaに翻訳できない機能はたくさんあるとは思いませんが、ほとんどの機能は非常に雑然としたコードに翻訳されますが、たとえ人間がその仕事をするとしても。
しかし Java to scala translators があります。
*文字通りクラスについて言っていない
.classファイルをJavaソースファイルに逆コンパイルする必要があります。scalaはさらに多くの.classファイルを生成することに注意してください
sdkまたはjad逆コンパイラに含まれるOracleのjavapを使用できます
詳細な説明については、次の記事をお読みください。
これが機能するかどうかはわかりませんが、Javaデコンパイラを使用してクラスファイルを実行できます。
それがまったく機能する場合、結果は地獄のように醜くなります。