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

jbe*_*rd4 7 java rhino maven

我目前正在使用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>
Run Code Online (Sandbox Code Playgroud)

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

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

mat*_*t b 4

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

  2. 使用appassemblerassembly插件生成启动脚本,该脚本将自动(在应用程序汇编器的情况下)引用所需的类路径。