2013-09-30 93 views
0

我試圖運行它發送郵件的JAR文件,使用此命令:錯誤而執行的jar文件

java -jar sendmail.jar 

當我運行從NetBeans中一切正常的代碼,但是當我導出到jar文件並運行jar文件我得到以下錯誤:

Error Sending mailjavax.mail.MessagingException: Could not connect to SMTP host: 
smtp.<xxx>.com, port: 25; 
    nested exception is: 
     java.net.SocketException: Permission denied: connect 

我得到了我從NetBeans中執行的代碼錯誤後,和郵件發送。因此我沒有任何關於SMTP或連接的問題。

我認爲jar文件找不到mail.jar。 請指教。

+0

你有沒有爲你的jar設置適當的類路徑? – Abubakkar

+0

如果你從netbeans創建'.jar',那麼你不必擔心支持'mail.jar'文件。它會在你的'.jar'文件旁邊的lib文件夾中複製支持'.jar'文件。 –

+0

如果它在netbeans中運行良好而不是在構建之後運行,那麼它必須是某種不包含在jar文件中的導入。 – JWqvist

回答

1

你的機器有沒有使用ipv6?如果是這樣,您可以嘗試使用-Djava.net.preferIPV4Stack=true參數來啓動您的jar。

+0

不,我不使用ipv6 – Shann

+0

@Shann你試過用這個參數運行嗎? –

0

確保mail.jar可能是在libs下導入的,而您不只是引用它。

+0

mail.jar確實在libs下 – Shann

+0

嘗試刪除然後再次添加它。 – JWqvist

0

一定要將您的mail.jar文件放到lib文件夾中,並確保您的lib文件夾和sendmail.jar文件存在於相同的目錄中。

+0

我檢查過... – Shann