I have a problem that I can not set up my application in debug mode with IntellJ IDE, but run mode is OK.
My OS is Windows 7, IDE is IntellJ IDEA, web container is Tomcat 6. I have tried for a long time, changed the HTTP port and the JMX port, but it did not work.
When I set up the app in debug mode with IntellJ, it failed and the event log is:
16:05:35 Error running tomcat: Unable to open debugger port : java.net.BindException "Address already in use: JVM_Bind".
Any help will be appreciated.
the key to the issue is in debugger port. I was having the same problem, I was killing every process listening on port 8081 (my http port), 1099 (JMX port), tomcat shutdown port, every java.exe, and still nothing.
The thing is this debugger port is different. If you run the application, it will go through the port you have Tomcat configured for, 8080, 8081 or whatever. But if you run it in Debug mode, it goes through a different port.
If you go edit your Tomcat configuration from IntelliJ, the last tab is Startup/Connection. Here go see the configuration for Debug mode, and you'll see its port. Mine was 50473. I changed it to 50472, and everything started working again.
For me, IntelliJ Event Log
(right bottom corner) had below logs:
Error running EntitmentTooling-Debug: Cannot run program "/path-to/apache-tomcat-8.5.15/bin/catalina.sh" (in directory "path-to/apache-tomcat-8.5.15/bin"): error=13, Permission denied
Error running EntitmentTooling-Debug: Unable to open debugger port (127.0.0.1:58804): java.net.SocketException "Socket closed"
The command
$ chmod a+x /path-to/apache-tomcat-8.5.15/bin/catalina.sh
to sufficiently change privileges worked for me.
This works for me consistently (it happens to me from time to time, when I do things such a restart tomcat when I am running the integration tests, for example)
1) Find the process that has the port 1099 open
sudo netstat -anp | grep tcp | grep 1099
cp6 0 0 :::1099 :::* LISTEN 9857/java
2) kill it
kill 9857
3) Start Tomcat.
I had same issue in windows 7 and IntellijIdea 14. I killed the java processes by going CTRL+ALT+ESc, find java and kill it. Now Re-Run, the application again it should be fine.. You can also do it with command line or shell(linux), but I found this easier for myself
I solved the issue by this way.
- I tried to kill all the java.exe processes but it was useless.
- Then I tried deleting the Tomcat server
- I re-deployed the project and restarted the project and it worked.
See these links for more information:
Delete Tomcat
Add a new Tomcat
I had this exact message.
The reason was that some IDE (I use Eclipse and Intellij) failed to shutdown the tomcat server. Or maybe crashed before it could do so.
The solution was to navigate to C:\...\apache-tomcat-xxx\bin
and run shutdown
.
While debug I got this issue: It worked with
- tried changing my Tomcat http port 8082 to 8083(In debug configurations on IntelliJ and in Tomcat->conf->server.xml also)
- tried changing JMX port from 1099 to 1009.
- tried changing debug port in Startup/Connection in debug configurations
- killed all java processes in TaskManager->Processes.
The only thing that worked for me is to go to Task Manager on Windows, and end all the Java processes that is running by right click -> end Task.
In Server tab of Tomcat configuration in IntelliJ, change JMX port to another number.
It happens occasionally that when I restart my computer, everything is OK. Perhaps there is a port conflict.
Restart the computer works because instances of Java or Tomcat are killed during the restart. You can also consider killing the specific processes from Task Manager
This also happens if there is an issue in the context.xml file. In my case, I had accidentally changed the context value.
I have the same issue,because my computer's DNS miss 127.0.0.1 localhost. When I add 127.0.0.1 localhost to my host file,it become ok.
There are various reasons for this.
- There might be the problem with debugger port---Please change it to resolve( answered by T.M )
- There might be some issue with intellij cache --Invalidate cache and restart will solve it ( answered by feng smith )
- There might be problem with any other Port, like JMX, AJP --- Please change these port numbers as well.
I wanted to add this as comment but not enough rep
None of above methods worked in my case i.e. changing port number in run configuration, machine restart, invalidate cache in IntelliJ, killing process shown in netstat (nestat -anob | findstr <port-number>
and then tskill <pid>
). The only thing that finally helped was starting and shutting down tomcat manually via startup.bat
and shutdown.bat
(you should use correspondig .sh
files on linux and macOS).
In my case, there was a problem in server.xml for Tomcat/conf folder where I had extra comment tags under another comment tag. So I think, since there was some problem in server.xml, it was not able to start Tomcat. And moreover it copies the tomcat folder from your installation directory to C:\Users\username.IntelliJIdea2017.2\system\tomcat\Tomcat_service
This happens when you have application running on the same port number. One way to do this by killing the process forcefully. Open command prompt as an admin. Run command 'taskkill /IM "java.exe" /F'. This worked for me in Windows. Let me know if this works.
- Check "Run" configuration to see which port it is using (
8081
). - Find all the other processes using that port
lsof -t -i :8081
- Kill the processes on that port.
kill PROCESS_ID
- Run Tomcat in Debug mode.
In my case, I wasted so much time on changing debugger port but it was not the issue. Since tomcat was not able to run on the port I chose in Run configuration, I was not able to debug my service.
In my case I had another project open in IntelliJ, and had Tomcat running in debug mode in that project. Stopping that instance of Tomcat resolved the issue.
There are multiple solution for the same.
- Either we may close the IDE (e.g. IntellJ)
- Find t IND00123:bin devbratanand$ lsof -i:30303 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME idea 437 devbratanand 56u IPv4 0xb2720e580a7d6483 0t0 TCP 10.17.130.41:55222->vmqp-cms-pan-app1.emea.akqa.local:30303 (ESTABLISHED) IND00123:bin devbratanand$ kill -9 437
try chmod a+x /path/to/tomcat/bin/catalina.sh if you run it in intelliJ
来源:https://stackoverflow.com/questions/26273743/unable-to-open-debugger-port-in-intellj-idea