如何使用Maven classpath来运行Java主类?

时间:2011-06-07 02:44:11

标签: java maven rhino

我目前正在使用Maven构建我的Rhino JavaScript项目,下载相关库,并在运行时管理类路径。我可以通过以下方式使用Maven exec插件来运行JavaScript入口点:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>java</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>org.mozilla.javascript.tools.shell.Main</mainClass>
                <classpathScope>runtime</classpathScope>
                <arguments>
                    <argument>path/to/entryPoint.js</argument>
                </arguments>
            </configuration>
        </plugin>

这很好用,但问题是maven只需要10秒就可以启动,这比我的程序运行时间大10倍。有没有办法:

  1. 提高maven exec插件的性能,以便花费更少的时间来启动,或
  2. 导出maven将在运行时使用的类路径,以便我可以从脚本启动我的程序?

1 个答案:

答案 0 :(得分:4)

  1. 您可以使用-o / --offline开关告诉Maven不要检查快照或插件更新。

  2. 使用appassemblerassembly插件生成启动脚本,这些脚本将自动(在appassembler的情况下)引用所需的类路径。