几天前我遇到了一个问题,即我获得了权限被拒绝:使用Javamail通过我们的本地邮件服务器发送电子邮件时连接。有关参考,请访问:JavaMail API to iMail -- java.net.SocketException: Permission denied: connect。解决方案是在项目的VM选项中添加“-Djava.net.preferIPv4Stack = true”。
在构建项目并尝试在NetBeans之外运行.jar文件后,我得到了相同的错误代码。该项目从NetBeans IDE内部按预期工作。
我在这里搜索了一些问题,谷歌,并阅读了一些Javamail常见问题解答。老实说,我真的不知道我在寻找什么,并认为我只是遗漏了一些东西。
我正在使用NetBeans 7.2,Java 7和Windows 7.我项目的dist文件夹包含.jar文件,dist \ lib文件夹包含mail.jar。
有关为什么我会再次收到该错误的任何想法?再次感谢您提供任何帮助/信息。
答案 0 :(得分:1)
你是如何运行程序的?
如果您使用“java -jar myprog.jar”运行它,请使用“java -Djava.net.preferIPv4Stack = tru -jar myprog.jar”。
如果你通过双击jar文件或类似的东西来运行它,你可能需要在代码中设置属性,方法是添加System.setProperty(“java.net.preferIPv4Stack”,“true”);