我正在尝试使用 GWT 从 Java 文件生成 Javascript。
我正在使用 Maven 构建我的 GWT 项目,但现在我正试图缩短 Maven 构建时间。
我不是 Maven 专家,所以我来到这里..
似乎 Maven 正在从我的 Java 文件生成 .class 文件,我认为这不是必需的,因为我只需要 Javascript 文件,而 GWT 是源代码编译器。
我不需要任何 jar 、 war 或其他任何东西。只是 Javascript 文件。
这是我的 POM 文件:
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.app</groupId>
<artifactId>webapp</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.timepedia.exporter</groupId>
<artifactId>gwtexporter</artifactId>
<version>2.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>2.7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.7.0</version>
<executions>
<execution>
<configuration>
<webappDirectory>
${WEBAPP_DIRECTORY}
</webappDirectory>
</configuration>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<sourceDirectory>src</sourceDirectory>
</build>
最佳答案
- maven 可以编译您的 .java 文件并使用 javac 生成 .class,这可以保证您的 java 语法正确并且您可以在任何 IDE 中使用您的源代码。所以请忽略它们。
- 为了将您的代码编译为 JS,您必须配置 maven 以执行 GWT 编译器,这是使用 gwt-maven plugin 完成的。 .请注意,您的 Java 代码应与 emulated GWT JRE 兼容。 , 因此需要考虑一些限制条件。
- 一旦一切正常,您将在文件夹
target/artifactId-version/moduleName
中获得您的 JS 代码。您将获得在网络服务器中发布所需的所有内容。所以你会得到一个module.nocache.js
文件,它是加载代码的引导脚本,还有一些MD5.cache.js
或MD5.cache。 html
文件取决于您在项目中使用的链接器和您选择的排列数。 - 当然可以collapse all permutations如果您使用 single script linker,则生成一个唯一的输出文件.
根据您的配置,您似乎想使用 gwt-exporter 将 java api 导出到 js , 你可以使用 jsUpload maven 项目作为引用,它是 gwtupload 的 JS 导出版本用 GWT 编写的库。
[编辑]
对于生成JS的web服务,我会直接调用编译器,而不是通过maven。它将节省 mvn 花在解析配置、检查依赖项、运行不需要的任务等方面的大量时间。您可以简单地运行 maven compile 并获取 ps -feawww
的输出或查看 gwt -maven CompileMojo弄清楚如何组成 args 列表。我会考虑使用带有增量选项的草稿模式编译。
关于java - Maven GWT - 仅输出 Javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27289398/