好的,我知道这个问题之前已被问了很多次,但是我用Google搜索并查看了一些例子,并在过去的一个月中查看了SO的问题,我真的无法让这个问题起作用.我认为问题是我希望能够从Eclipse和命令行运行该程序.我也在使用OSX,我认为我正在阅读的很多例子都是针对Windows/Linux的.
如果我有一个在Eclipse中编译的简单程序,我想从命令行运行,我这样做:
java -cp bin MyProgram
Run Code Online (Sandbox Code Playgroud)
我有另一个我在Eclipse中编译和运行的程序,它引用了存储在同一目录中的MySQL JDBC连接器(mysql-connector-java-5.1.19-bin.jar).这在Eclipse中运行良好,但我无法从命令行运行它.
我尝试了所有的组合......
java -classpath "bin;mysql-connector-java-5.1.19-bin.jar" MyProgram
java -cp bin\;mysql-connector-java-5.1.19-bin.jar MyProgram
Run Code Online (Sandbox Code Playgroud)
并获得各种类未找到的错误...
Exception in thread "main" java.lang.NoClassDefFoundError: MyProgram
Caused by: java.lang.ClassNotFoundException: MyProgram
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Run Code Online (Sandbox Code Playgroud)
Ale*_*exR 13
您的问题是您使用的min分隔符.分隔符;适用于Windows.在Unix系统上,您应该使用::
java -classpath"bin:mysql-connector-java-5.1.19-bin.jar"MyProgram
使用':'分隔Unix系统上的条目:
java -classpath "bin:mysql-connector-java-5.1.19-bin.jar" MyProgram
java -cp bin:mysql-connector-java-5.1.19-bin.jar MyProgram
Run Code Online (Sandbox Code Playgroud)
Eclipse会自动转换它.
| 归档时间: |
|
| 查看次数: |
48045 次 |
| 最近记录: |