简体   繁体   English

如何导入.jar文件

[英]How to import .jar file

I've been attempting to import a class contained with in a .jar file. 我一直在尝试导入.jar文件中包含的类。 My my_package.jar file resides in /Users/user/Library/Java/Extensions and my ~/.bashrc contains the following line export CLASSPATH = "$CLASSPATH:/Users/user/Library/Java/Extensions . At the top of my program is a line that reads import my_package.MyClass; . Whenever I try to compile the program using javac MyProgram.java I get the package my_package does not exist . I've done a bit of searching around online and found several possible fixes. One of which involved moving the .jar file to the current directory and invoking javac found here as follows. 我的my_package.jar文件位于/Users/user/Library/Java/Extensions而我的~/.bashrc包含以下行export CLASSPATH = "$CLASSPATH:/Users/user/Library/Java/Extensions 。 program是一行读取import my_package.MyClass;的行,每当我尝试使用javac MyProgram.java编译程序时,我都得到package my_package does not exist 。我在网上进行了一些搜索,找到了一些可能的解决方法。其中涉及将.jar文件移动到当前目录,并调用在找到的javac,如下所示。

javac -cp '.:my_package.jar' MyClass.java

This yields the same error. 这会产生相同的错误。

I have also tried changing the CLASSPATH to /Users/David_Johnson/Library/Java/Extensions/ and /Users/David_Johnson/Library/Java/Extensions/* . 我还尝试将CLASSPATH更改为/Users/David_Johnson/Library/Java/Extensions//Users/David_Johnson/Library/Java/Extensions/* They both yield the same error. 它们都产生相同的错误。

It appears as though I am missing something quite trivial. 似乎我缺少一些琐碎的东西。 Any help in catching my mistake would be greatly appreciated. 任何帮助我发现错误的方法将不胜感激。

I'm on Max OSX 10.8.5 using javac 1.7.0_07 我在使用javac 1.7.0_07的Max OSX 10.8.5上

CLASSPATH must explicitly list each and every JAR file. CLASSPATH必须显式列出每个JAR文件。 Wildcards or directories are not supported. 不支持通配符或目录。

You can use bash to generate the list though. 您可以使用bash生成列表。

for jar in /Users/where/ever/they/are/*.jar
do
    CLASSPATH="$CLASSPATH:$jar"
done
export CLASSPATH

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

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