我正在尝试在我的方法中执行一个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吗?
答案 0 :(得分:0)
我设法解决了这个问题。我做了以下。
使用Java命令在命令提示符下执行上述操作(而不是javaw)。
我注意到我的“主类无法加载。我认为这是因为找不到主类。但是,那是不是这样的。主类无法加载是由于某些依赖项缺失。
我手动将依赖项复制到相应的目录中,一切正常。