【问题标题】:Batch file creation to run executable jar file with external library jar file批处理文件创建以使用外部库 jar 文件运行可执行 jar 文件
【发布时间】:2018-04-10 11:24:57
【问题描述】:

我开发了一个简单的 java 项目,并想使用批处理文件运行这个项目。如何在批处理文件中包含外部 jar 文件以成功运行 java 项目。

项目结构如下,

Click here to find the Project Structure Screen shot

lanch.bat 文件包含

java -Xms512M -Xmx512M -jar selflearn.jar -o true
PAUSE

如何在编程执行时包含 POdetail_for_tests.txt 文件和 libs 文件夹作为参考。

当尝试使用上述批处理文件运行项目时,会出现以下错误

F:\java>java -Xms512M -Xmx512M -jar selflearn.jar -o true
Exception in thread "main" java.lang.NoClassDefFoundError: 
org/apache/poi/xssf/usermodel/XSSFWorkbook
at selflearn.txtFileToCSV.csvToXLSX(txtFileToCSV.java:57)
at selflearn.txtFileToCSV.main(txtFileToCSV.java:48)
Caused by: java.lang.ClassNotFoundException: 
org.apache.poi.xssf.usermodel.XSSFWorkbook
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more

F:\java>PAUSE
Press any key to continue . . .

【问题讨论】:

  • 我正在尝试包含外部 jar 文件,比如说 jdbc 驱动程序,如何将这个 jar 文件包含在可执行 jar 中?

标签: java batch-file exe executable-jar javaexe


【解决方案1】:

有 -cp (classpath) 选项可以包含依赖的 jar:

F:\java>java -Xms512M -Xmx512M -cp "libs/*" -jar selflearn.jar -o true

根据项目结构截图,应该可以找到POdetail_for_tests.txt文件。

【讨论】:

  • 无法访问 libs 文件夹
猜你喜欢
  • 1970-01-01
  • 2013-05-07
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
  • 2013-12-26
  • 1970-01-01
  • 2013-08-08
  • 1970-01-01
相关资源
最近更新 更多