[英]How do I import this API Java? CLASSPATH?
操作系統:MAC OSX Big Sur 11.2.1
我正在嘗試讓“TKLjavax.mail-1.5.6.jar”文件工作/導入到我的代碼中。
我試圖設置我的 CLASSPATH,這就是它的樣子。
echo CLASSPATH=$CLASSPATH:/Users/name/Desktop/javaStuff/TKLjavax.mail-1.5.6.jar;.
這假設允許我導入這些:(在我的 Java 文件的開頭,其中包含我的代碼)
import javax.mail.*;
import javax.mail.internet.*;
import com.sun.mail.imap.*;
我收到一個錯誤,它說:
error: package javax.mail does not exist
import javax.mail.*;
^
error: package javax.mail.internet does not exist
import javax.mail.internet.*;
error: package com.sun.mail.imap does not exist
import com.sun.mail.imap.*;
^
...以及更多錯誤,無法找到這些導入的符號。
我是 Stack Overflow 的新手,所以請放輕松。 我只是想讓我的代碼正常工作,我嘗試了許多不同的方法來保存 CLASSPATH,但我一直收到同樣的錯誤。
我幾乎肯定這是正確的.jar 文件,並且允許這些包工作。
==========================================
添加在:
我已將新的 CLASSPATH 添加到我的 batch_profile
echo CLASSPATH=$CLASSPATH:/Users/name/Desktop/javaStuff/javax.activation-1.2.0.jar;.
我不知道這個新的CLASSPATH 是否有幫助。
我已經讓程序通過javac -cp
和java -cp
運行,我的完整代碼行是
javac -cp /Users/name/Desktop/javaStuff/javax.activation-1.2.0.jar -cp /Users/name/Desktop/javaStuff/TKLjavax.mail-1.5.6.jar Example.java
和
java -cp /Users/name/Desktop/javaStuff/javax.activation-1.2.0.jar -cp /Users/name/Desktop/javaStuff/TKLjavax.mail-1.5.6.jar Example.java
現在我收到一條錯誤消息:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataHandler
這些包不存在
不存在 java 工具會產生這個確切的錯誤。 請粘貼整個錯誤,不要解釋它。
. echo CLASSPATH=$CLASSPATH:/Users/name/Desktop/javaStuff/TKLjavax.mail-1.5.6.jar;.
不推薦編輯全局 CLASSPATH 變量。
只需運行javac -cp /path/to/jar *.java. Do you really have a file named
javac -cp /path/to/jar *.java. Do you really have a file named
TKLJavax.mail 的文件嗎? 我認為您在 TKL 和 javax 之間忘記了一個正斜杠。
如果您確信所有設置都正確,並且沒有丟失正斜杠,那么聽起來您有一些定制的 javax.mail 變體。 So let's check if that jar is actually valid: java -cp /Users/name/Desktop/javaStuff/TKLjavax.mail-1.5.6.jar com.sun.mail.imap.TheClassYouAreUsing
- check which error this gives you. 它應該給你:'在 class 中找不到主要方法......'。 如果它給您“無法找到或加載主 class ....” - 那么 jar 已損壞或無法在類路徑上使用。
我不能將兩個 -cp arguments 用於 javac 和 java 線。
這是正確的方法:
javac -cp /Users/name/Desktop/javaStuff/javax.activation-1.2.0.jar:/Users/name/Desktop/javaStuff/TKLjavax.mail-1.5.6.jar Example.java
java -cp /Users/name/Desktop/javaStuff/javax.activation-1.2.0.jar:/Users/name/Desktop/javaStuff/TKLjavax.mail-1.5.6.jar Example.java
該程序現在符合並運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.