[英]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.