2016-08-31 2 views
2

저는 Typescript (약 150 개 파일)로 변환하려는 자바 프로젝트를 가지고 있습니다.jSweet을 설치했습니다. 이제 뭐?

http://www.jsweet.org/getting-started/

당으로 ... 나는 jsweet Github에서 프로젝트를 체크 아웃.

... 난 ... MVN 생성-SRC

실행 나는 index.html을로드 그것은 내게 준 '의미가 있습니다!'

이제 어떻게 되나요? 다음에 어떤 일이 벌어지는지는 매우 불분명합니다.

이상적으로는 일부 실행 파일이 있다고 가정합니다. converter.java에서 입력 및 출력 디렉토리를 지정합니다. 나는 이것이 어디에서나 설명되는 것을 볼 수 없다.

답변

7

이 질문은 "Java 프로젝트를 JSweet을 사용하여 TypeScript로 변환하는 방법"이어야한다고 생각합니다.

DISCLAMER : JSweet의 주된 목적은 기존 Java 프로그램을 TypeScript로 변환하지 않는 것입니다. 그러나 JSweet은 중간 TypeScript 코드를 생성하므로 Java 프로그램을 TypeScript로 마이그레이션하는 도우미로 사용할 수 있습니다. 물론이 마이그레이션은 Java 라이브러리가 JavaScript에서도 사용 가능할 경우에만 완전히 작동합니다. 그렇지 않으면 구현을 제공하거나 사용 된 라이브러리를 기존 JavaScript로 수동으로 변경해야합니다.

실제로 Github의 QuickStart 프로젝트에서 시작할 수 있습니다. 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는 다음과 같이 구성되어 있습니다.

그래서 전체 자바 프로그램을 번역하려면 src/main/java에 자바 소스 코드를 복사하여 붙여 넣어야합니다. 그런 다음 다시 실행하십시오 mvn generate-sources.

이 명령을 사용하려면 Java 파일을 먼저 Java 관점에서 컴파일해야합니다. 즉, Java 소스 파일이 다른 Java 라이브러리를 사용하는 경우 클래스 경로에서 사용할 수 있어야합니다. 따라서 Maven 아래의 Java 프로젝트처럼 pom.xml<dependencies> 섹션을 설정해야합니다.

Java 라이브러리를 JSweet/TypeScript에서 사용할 수 없기 때문에 외부 Java 라이브러리를 사용하는 것이 문제가 될 수 있습니다. 따라서 target/ts 디렉토리에 생성 된 TypeScript 파일을 가져 오지만 TypeScript에서 존재하지 않는 API를 사용하므로 많은 오류가보고됩니다.거기에서

는 다음 중 하나를 수행 할 수 있습니다 :

  • 이 그대로 타이프 스크립트 코드를 가지고 (당신은 자바 것보다는 유효 타이프 라이터 API를 사용하도록 코드를 리팩토링해야한다는 것을 의미하는) 수동으로 변환을 완료합니다. TypeScript로 전환하고 Java 소스 코드 기반을 휴지통으로 만들려면이 옵션을 사용하는 것이 좋습니다.
  • 프로젝트에서 사용하는 J4TS과 비슷한 방법으로 사용중인 Java API의 JSweet 구현을 제공하십시오. 이 video은 JSweet에서 애플릿 API를 구현하는 방법에 대한 개념 증명을 보여줍니다. JSweet을 사용하여 Java에서 계속 작업하고 Java 도구를 사용하여 안전하고 점진적으로 웹으로 마이그레이션하려는 경우이 옵션을 유용하게 사용할 수 있습니다.
관련 문제