2016-08-31 54 views
2

私はTypescript(約150ファイル)に変換したいjavaプロジェクトを持っています。 http://www.jsweet.org/getting-started/jSweetをインストールしました。それで?

あたりとして

...私はjsweet Githubのプロジェクトをチェックアウト。

は...私は... MVNが生成-srcの

走った私はindex.htmlををロードし、それが私に与えた 'これは動作します!'

今何ですか?次に起こることは非常に不明です。

理想的には、いくつかの実行可能ファイルがあると仮定します。 converter.javaでは、入力ディレクトリと出力ディレクトリを指定します。私はどこで説明されているのか分かりません。

答えて

7

この質問は「JavaプロジェクトをJSweetを使用してTypeScriptに変換する方法」だと思います。

DISCLAMER:JSweetの主な目的は、既存のJavaプログラムをTypeScriptに変換することではありません。しかし、JSweetは中間のTypeScriptコードを生成するので、JavaプログラムをTypeScriptに移行するためのヘルパーとして使用できます。もちろん、この移行は、JavaライブラリもJavaScriptで利用できる場合にのみ完全に機能します。そうでない場合は、実装を提供するか、使用されたライブラリを既存のJavaScriptライブラリに手動で変更する必要があります。

実際にGithubのクイックスタートプロジェクトから始めることができます。 mvn generate-sourcesを実行すると、src/main/javaのJavaソースがTypeScriptに変換されます。 JSweet生成プロセスは、Maven JSweetプラグインを使用してpom.xmlファイルに設定されています。ここでは、JSweetに何を生成するのか、どこにどこを伝えることができるのですか?プラグインhereの完全なオプションリストを参照してください。

があるため tsOutオプションの
 <plugin> 
      <groupId>org.jsweet</groupId> 
      <artifactId>jsweet-maven-plugin</artifactId> 
      <version>1.1.1</version> 
      <configuration> 
       <verbose>true</verbose> 
       <tsOut>target/ts</tsOut> 
       <outDir>target/js</outDir> 
       <candiesJsOut>webapp</candiesJsOut> 
       <targetVersion>ES3</targetVersion> 
      </configuration> 
      [...] 

、あなたがtarget/tsディレクトリ内に生成された活字体コードを見つけます:だから、pom.xmlファイルによると、JSweetは次のように設定されています。

したがって、完全なJavaプログラムをそこから翻訳するには、src/main/java内のJavaソースコードをコピーして貼り付ける必要があります。次に、再度実行してくださいmvn generate-sources

このコマンドを成功させるには、まずJavaファイルをJavaの観点からコンパイルする必要があることに注意してください。つまり、Javaソースファイルで他のJavaライブラリを使用している場合は、クラスパスで使用できる必要があります。したがって、Mavenの下にあるJavaプロジェクトのように、pom.xml<dependencies>セクションを設定する必要があります。

これらのJavaライブラリはJSweet/TypeScriptでは使用できない可能性があるため、外部Javaライブラリを使用することは問題になります。したがって、target/tsディレクトリに生成されたTypeScriptファイルを取得する可能性がありますが、TypeScriptの存在しないAPIを使用するため、transpilationは多くのエラーを報告します。そこから

は、次のことができ、次のいずれか

  • があるとして、活字体のコードを取り、(あなたは、Javaのものではなく、有効な活字体のAPIを使用するようにコードをリファクタリングする必要があることを意味する)、手動で変換を終了します。これは、TypeScriptに切り替えてJavaソースコードのベースをゴミ箱に入れたい場合には、おそらくあなたが好むオプションです。
  • 使用しているJava APIのJSweet実装を提供します。同様の方法で、J4TSプロジェクトが行います。このvideoは、JSweetでアプレットAPIを実装する方法の概念実証を示しています。これは、JSweetを使用してJavaで作業し、Javaツールを使用して安全かつ徐々にWebに移行したい場合には、良い選択肢になります。
関連する問題