Java 如何在linux机器上导入jar文件

Java 如何在linux机器上导入jar文件,java,linux,smtp,compiler-errors,Java,Linux,Smtp,Compiler Errors,我正在尝试在Linux机器上运行Java程序,其中包括: import javax.mail.*; 我已经将mail.jar包含在myjdk/lib中。即使在编译时,它也会显示如下错误 javax.mail does not exist 怎么办?在bash上运行此命令 export CLASSPATH=$CLASSPATH:/path/to/my.jar 然后编译并检查类路径。确保它指向目录中的所有JAR文件。这应该由JAR的直接路径或通配符指定 看看这个关于设置类路径的页面:根据您的评论

我正在尝试在Linux机器上运行Java程序,其中包括:

import javax.mail.*;
我已经将
mail.jar
包含在
myjdk/lib
中。即使在编译时,它也会显示如下错误

javax.mail does not exist

怎么办?

在bash上运行此命令

export CLASSPATH=$CLASSPATH:/path/to/my.jar

然后编译并检查类路径。确保它指向目录中的所有JAR文件。这应该由JAR的直接路径或通配符指定


看看这个关于设置类路径的页面:

根据您的评论,我假设您有一个脚本,可以从“lib”目录中的文件构造类路径

在这种情况下,最可能的问题是Windows使用分号(;)作为类路径分隔符,而Linux使用冒号(:)


顺便说一句,我不知道有哪种解决方案可以同时在两种环境下工作。通常的方法是为Linux创建一个“runme.sh”,为Windows创建一个“runme.bat”。

将所有jar文件和.java文件复制到同一文件夹中。 编辑,

javac -cp .:mail.jar SendEmail.java
执行,

java -cp .:mail.jar SendEmail

您知道-jar选项吗?您可以发布更多关于所显示错误的信息吗?您是从Windows迁移到Linux,还是已经开始在Linux上开发?你如何处理“lib”目录中的文件>我正在开发一个使用java API的SMTP程序我已经在windows上完成了,但是现在我被要求在linux上对linuxhow chk classpath执行同样的操作?这是一个坏主意。如果您依赖于在环境中设置的类路径,那么如果您转到另一台机器或向项目中添加另一个程序员,您的程序或构建将失败。更糟糕的是,您可以使用不正确的JAR版本构建/运行。但是由于一些要求,现在我必须在linux上编写相同的程序,在eclipse中,我添加了mail.jar和activation.jar,但现在我不知道怎么做了opn Linux您不是也在Linux上使用eclipse吗?@parsifal-使用CLASSPATH变量的原因是为了方便在具有不同文件布局的系统之间进行迁移@这不是一个好理由。也许您很幸运,从来没有在开发人员有不同类路径环境变量的项目上工作过。我已经倒霉很多次了。