解决“java.net.BindException:地址已在使用”错误? - java

我正在使用Intellij,尝试部署Tomcat应用程序,但是每当我尝试运行它时,都会出现以下错误:

Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 1098; nested exception is: 
java.net.BindException: Address already in use

现在,我通过以下方法手动查找了该端口上发生的过程:

lsof -i:1098

我找到了Java进程并杀死了它:

ps aux | grep java

kill -9 20386

那确实有效,但是每次打开Intellij时我都必须这样做。如果我想在不退出Intellij的情况下重新运行服务器,则不会,因为会出现此错误。有谁知道永久解决方案,而不仅仅是每次都手动将其杀死?

参考方案

这是由于JMX监视Tomcat实例。 Tomcat将在端口9999上运行,因此当JMX要开始检查关闭状态时,它将无法绑定到该端口。

解决此问题的一种方法是定义CATALINA_OPTS环境变量。

在JAVA_OPTS中设置这些属性会尝试在启动tomcat和关闭tomcat时启动jmx服务器。因此,该端口已经在使用中。您需要为CATALINA_OPTS而不是JAVA_OPTS设置这些属性。仅在启动tomcat时运行。

CATALINA_OPTS =“$ CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8999”
CATALINA_OPTS =“$ CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.authenticate = false”

为我解决的是在$ HOME / .bashrc中,我添加了以下导出:
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999"
信用:
https://bowerstudios.com/node/636

从JAVA调用方法C#.NET - java

我有一个C#.NET项目中创建的dll,我想从Java程序中调用方法。我想知道是否存在实现此目标的机会,然后遇到了JNA和JNI。我应该使用哪一个?有什么建议么?我只需要在使用C#.NET编写的类中调用方法并处理Java程序的结果即可。 参考方案 这取决于您的应用程序,但是您可以将C#DLL放在服务中,例如WCF并以这种方式将功能公开给Java代码。使用ws…

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

java.net.UnknownHostException无法连接到ftp - java

我的ftp端口为:ftp://173.201.0.1/我正在尝试通过以下方式将其连接:String Ftp_Path = "ftp://173.201.0.1/"; public List<String> GetFileList() { String ftpServerIP = Ftp_Path; String ftpUser…

您知道处理网络白板的框架吗? - java

我正在寻找一个提供白板标准管理的框架。例如,一个区域,网络用户可以使用鼠标在该区域上绘制一些内容,并在发布表单时将其保存到服务器(例如)。 (Php,Java,.net吗?) 参考方案 http://cristian.nexcess.net/ajax/whiteboard/

无法访问可移植类库中的类 - java

我是移动开发和Xamarin的新手。我正在尝试创建一个类的实例,该类可以在相同解决方案(HotDog和HotDogDataService)下的另一个项目中找到。我使用红色The type or namespace name 'RaysHotDogs' could not be found得到红色下划线。为什么我不能在该项目中实例化这些类?…