我有问题从jar运行主类.
Ant脚本生成了以下文件夹:
MyProject(Somewhere in C:)
|
|
|____configuration(this contains properties/XML file)
|
|____dist(contains MyProject.jar)
|
|____lib(contains all other jars)
|
|____run(contains batch file to run MyProject.jar)
Run Code Online (Sandbox Code Playgroud)
在内部运行文件夹中,我有一个批处理文件,其内容如下:
java -jar ../dist/MyProject.jar;../lib/*.jar com.my.test.MainTest
Run Code Online (Sandbox Code Playgroud)
有人可以指导我.我只想去运行文件夹并双击.bat文件并运行应用程序.
我正进入(状态
Exception in thread "main" java.lang.NoClassDefFoundError: MyProject/jar
Run Code Online (Sandbox Code Playgroud)
更新
新的错误是:
The java class is not found: com.microsoft.sqlserver.jdbc.SQLServerException
Run Code Online (Sandbox Code Playgroud)
谢谢...
您似乎将多个JAR文件传递给java应用程序启动器.这不是它的工作原理.
您需要传入一个单独的jar文件(在本例中为MyProject.jar),它作为入口点.应在主jar 的清单MANIFEST.MF的 ClassPath条目中指定所有相关的JAR .清单还应该指定Main类 - 具有main()方法的类.
如果要避免上述操作,并在命令行上指定完整的类路径,请使用-cp或-classpath标记.但是,您需要在类路径中指定通配符,方式与问题中列出的方式不同.以下可能有效; 在Windows上,如果需要,将类路径条目包装在引号中:
REM notice the quotes in the cp argument. Those are to be omitted in *nix
java -cp "../dist/MyProject.jar;../lib/*" com.my.test.MainTest
Run Code Online (Sandbox Code Playgroud)
更新
根据现在报告的新错误消息,似乎Microsoft SQL Server JDBC驱动程序不存在于类路径中.这将需要下载并放置必要的JAR(在lib目录中).如果驱动程序存在于其他位置,则应使用JAR的位置更新用于启动应用程序的上述命令.
| 归档时间: |
|
| 查看次数: |
8183 次 |
| 最近记录: |