【问题标题】:eclipse, java & running a project from terminaleclipse, java & 从终端运行项目
【发布时间】:2011-12-23 17:29:48
【问题描述】:

我习惯于在 eclipse 中编写 java 并使用它来导入 JAR、设置工作区等。但是,当我想将项目部署到我的服务器并从像 java Main arg1 arg2 这样的 bash 脚本中调用它时,有些东西是'不写我明白了:

java.lang.ClassNotFoundException

我的类路径设置错了吗?日食在幕后做什么?当我这样做时

echo $CLASSPATH

我总是得到一个空行。以下(从 bin 文件夹执行)也不起作用:

java -cp "~/Code/Java/SQL/MySQLAccess/bin;/usr/bin/java;/Users/Me/Code/Java/SQL/MySQLTest/mysql-connector-java-5.1.18-bin.jar" Main arg1 arg2 ... arg7

这给了我一个java.lang.ClassNotFoundException: Main 错误

【问题讨论】:

  • 命令行中没有类路径 (-cp)
  • 嗨@Kru,看看我更新的问题
  • Main 在什么包中?
  • @Dev,我的 Main.java 代码顶部没有包描述。如果有帮助,我的项目称为 MySQLAccess
  • 注意 路径分隔符 在 Unix 上是 : 在 Windows 上是 ;。您的路径类似于 unix,但您在窗口中使用分隔符。

标签: java eclipse bash classpath


【解决方案1】:

你的类路径设置不正确,你可以使用命令 java -classpath path_for_java javafile argumnets

就eclipse而言,你可以去project->properties->java build path->libraries,你会知道eclipse是从哪里引用java库的。

【讨论】:

    【解决方案2】:

    如果您打算移动它并部署到可能不同的服务器,请考虑将您的项目导出为 jar。您可以在 jar 中包含 sql jar,并且您从脚本中的调用看起来像

    java -jar Main.jar
    

    在 Eclipse 中,您可以转到 File->Export,然后从菜单中选择“jar”并按照步骤操作。

    您的manifest 将类似于

    Main-Class: Main
    Class-Path: mysql-connector-java-5.1.18-bin.jar
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 2020-03-02
      相关资源
      最近更新 更多