从Jar依赖项运行应用程序

时间:2018-05-22 03:55:15

标签: java

我正在尝试在我的方法中执行一个java命令,该命令将使用spring profile(stub)启动我的JavaFX jar应用程序。 jar是我的项目的依赖项,位于 \ dir \ dependency 中。 该个人资料位于app.yaml中。

我使用以下命令:

String buildfolder = System.getProperty("user.dir");
String javahome = envmap.get("JAVA_HOME")+"\\jre"; 
process = driver.getApplications().run(javahome + 
        "\\bin\\javaw.exe",
        "-Xms512m " +
                "-Xmx2024m " +
                "-XX:+UseConcMarkSweepGC " +
                "-XX:+CMSIncrementalMode " +
                "-verbose:gc " +
                "-classpath ./* " +
                "-Dspring.profiles.active=stub " +
                "-Dspring.config.location=classpath:conf/app.yaml " +
                "-XX:+UnlockCommercialFeatures " +
                "-XX:+FlightRecorder " +
                "-Dlog4j.configurationFile=log4j2.yaml " +
                "au.com.nab.fx.nova.app.NovaUIDriver",
        buildfolder + "\\dir\\dependency");

但是,在运行应用程序之前,我收到以下错误:

  

应用程序"" C:\ Program Files \ Java \ jdk1.8.0_162 \ jre \ bin \ javaw.exe"' (PID 15752)在测试引擎可以访问之前退出代码1。

我的命令有明显的错误吗? 我应该使用不同类型的命令来代替javaw.exe吗?

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。我做了以下。

  1. 使用Java命令在命令提示符下执行上述操作(而不是javaw)。

  2. 我注意到我的“主类无法加载。我认为这是因为找不到主。但是,那是不是这样的。主类无法加载是由于某些依赖项缺失。

  3. 我手动将依赖项复制到相应的目录中,一切正常。