繁体   English   中英

无法从命令行执行Java类

[英]Unable to execute java class from command line

我编译了一个Java项目并生成了.class文件。 如果我尝试按以下方式运行我的代码(请参阅https://stackoverflow.com/a/12044735/147530 ):

java com.mycompany.mysubdomain.App

我收到此错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

可以理解,因为我没有指定可在其中找到com.mysql.jdbc.Driver的类路径。 所以我跑了:

mvn dependency:build-classpath

获取我的依赖的类路径。 然后我尝试像这样运行:

java -classpath /Users/me/.m2/repository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar:/Users/me/.m2/repository/com/vividsolutions/jts/1.13/jts-1.13.jar:/Users/me/.m2/repository/junit/junit/4.11/junit-4.11.jar:/Users/me/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar com.mycompany.mysubdomain.App

但是现在我得到了:

Error: Could not find or load main class com.mycompany.mysubdomain.App

我不明白为什么现在抱怨。 注意关键的事情-当我省略类路径时,它能够找到App 发生ClassNotFoundException是因为找不到相关性。 但是现在为什么为什么抱怨找不到该App开始呢? 我怎样才能解决这个问题?

通过将您自己的包树所在的目录添加到类路径:

java -cp .:/Users/me/.m2/repository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar:/Users/me/.m2/repository/com/vividsolutions/jts/1.13/jts-1.13.jar:/Users/me/.m2/repository/junit/junit/4.11/junit-4.11.jar:/Users/me/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar com.mycompany.mysubdomain.App

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM