Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Exec Maven插件到命令行_Java_Command Line_Smartcard_Exec Maven Plugin - Fatal编程技术网

Java Exec Maven插件到命令行

Java Exec Maven插件到命令行,java,command-line,smartcard,exec-maven-plugin,Java,Command Line,Smartcard,Exec Maven Plugin,我有一个在NetBeans/Maven中开发的应用程序,可以通过以下命令行启动: mvn exec:exec "-Dexec.executable=C:\\Java\\jdk1.6.0_33\\bin\\java.exe" "-Dexec.args=-Dlog4j.properties=... -classpath %classpath com.xxx.MyLauncher" -Dexec.classpathScope=runtime -Dexec.workingdir= 现在,我需要通过标准

我有一个在NetBeans/Maven中开发的应用程序,可以通过以下命令行启动:

mvn exec:exec "-Dexec.executable=C:\\Java\\jdk1.6.0_33\\bin\\java.exe" "-Dexec.args=-Dlog4j.properties=... -classpath %classpath com.xxx.MyLauncher" -Dexec.classpathScope=runtime -Dexec.workingdir=
现在,我需要通过标准java命令行方法运行应用程序,如:

java -Dlog4j.properties=... -jar myapp-1.2-SNAPSHOT.jar
不幸的是,这并不是以同样的方式工作的,因为我得到了以下异常:

opencard.core.util.OpenCardPropertyLoadingException: property file not found
问题:

  • 使用execmaven插件启动应用程序与在命令行上执行标准java有什么区别
  • 有没有一种简单的方法可以将Maven执行脚本转换为标准命令行
  • 如何成功运行应用程序

问题是类路径,由此引起。
用maven shade插件替换maven assembly插件可以解决这个问题。

您的jar是否包含所有依赖项?请参阅此处了解更多信息:显然,在命令行上,您可以按可执行文件的方式执行jar,而在pom.xml中,您可以为其提供classpath和mainclass;你检查过你的清单条目是否与Maven构造的执行命令行匹配吗?看来类路径是问题所在,是由这个bug引起的[。用Maven shade插件替换Maven assembly插件解决了这个问题。感谢你的支持!感谢你的反馈。你现在可以接受投票表决的问题和答案了。