首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装了jSweet。这次又是什么?

安装了jSweet。这次又是什么?
EN

Stack Overflow用户
提问于 2016-08-31 15:39:23
回答 1查看 1.6K关注 0票数 4

我有一个java项目,我想把它转换成类型记录(大约150个文件)。

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

...I查看了jsweet项目。

...I ran mvn生成-src

...I加载了index.html,它给了我“它能工作!”

这次又是什么?现在还不清楚接下来会发生什么。

理想情况下,我会假设有一些可运行的文件,例如。converter.java,您可以在其中指定输入和输出目录。我什么地方都看不出这是怎么解释的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-31 16:50:28

我认为这个问题应该是“如何用JSweet将一个Java项目转换到TypeScript”

DISCLAMER__:JSweet的主要目的不是将现有的Java程序转换为TypeScript。但是,由于JSweet生成中间的TypeScript代码,所以它可以用作将TypeScript程序迁移到TypeScript的助手。当然,只有当JavaScript库也可用时,这种迁移才能完全工作,否则,您必须提供一个实现或手动将使用的库更改为现有的JavaScript库。

您确实可以从Github上的QuickStart项目开始。当您运行mvn generate-sources时,所发生的情况是src/main/java中的Java源被转移到TypeScript中。JSweet生成过程是使用Maven JSweet插件在pom.xml文件中配置的。在这里,您可以告诉JSweet要生成什么以及在哪里生成。请参阅插件这里的完整选项列表。因此,根据pom.xml文件,JSweet配置为:

代码语言:javascript
复制
        <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> 
            [...]

由于有了tsOut选项,您将在target/ts目录中找到生成的TypeScript代码。

因此,为了从那里翻译完整的Java程序,您需要在src/main/java中复制粘贴您的Java源代码。然后,再次运行mvn generate-sources

请注意,要使此命令成功,首先需要从Java的角度编译Java文件。这意味着如果您的Java源文件使用其他Java库,这些库必须在类路径中可用。因此,与Maven下的任何Java项目一样,您需要在<dependencies>中设置一个pom.xml部分。

使用外部Java库可能是一个问题,因为这些Java库可能无法在j甜/TypeScript中使用。因此,您可能会在您的TypeScript目录中生成target/ts文件,但是由于在TypeScript中使用了不存在的API,传输溢出将报告许多错误。

从那里,你可以:

  • 按照原样处理TypeScript代码并手动完成转换(这意味着您需要重构代码以使用有效的Java而不是Java)。如果您想切换到TypeScript并丢弃Java源代码库,这可能是您的首选选项。
  • 提供您正在使用的Java的JSweet实现,就像J4TS项目所做的那样。这个视频演示了如何在JSweet中实现applet的概念.如果您希望继续使用JSweet并使用Java工具安全和逐步地迁移到Web,这可能是一个很好的选择。
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39253788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档