JSR 45 Support
Hi,
I am trying to get Idea 4.5 to work with the webserver jo! I am especially interested in getting JSR 45 to work. However, I am facing a couple of difficulties:
- Idea documentation about JSR 45 is quasi non-existent - yes, I know, the helpfiles offer descriptions about how to configure Idea, but those descriptions are mostly meaningless.
- Why do I have to set up a server with start/stop-files etc. when I just want to switch to a different stratum during debugging? Why can't I simply specify the main class, VM and program parameters like with any other application? After all, JSR 45 is by no means application server specific.
- JSR 45 support for jo! is evolving - meaning, it is not done yet. To provide flawless support, it would be nice to have a debugger that actually supports it and gives feedback.
- It seems that Idea needs some kind of mapping between packages. How do I have to configure Idea, if a jsp called 'a.jsp' is mapped to a class file 'host_.jsptest_.a_jsp.class'?
Can you guys please help me out?!
Thanks,
-hendrik
Please sign in to leave a comment.
Just making sure, but you do know that the JSR45 plugin is for those app
servers which support JSR 45, but for which IDEA doesn't provide a 'native'
plugin. To clarify, if you're using Tomcat 5 for example, you can setup the
Tomcat app server and you're getting JSR45. Same goes for the available
plugins for idea for Orion, Jboss, Resin and WebLogic.
What app server are you using?
R
On 11/14/04 8:44 PM, in article
2776899.1100483055363.JavaMail.itn@is.intellij.net, "Hendrik Schreiber"
<hs@tagtraum.com> wrote:
I am aware of that.
I am using/developing jo!, which is a jsp capable servletengine. The JSR 45 support of this engine is evolving.
However, an IDE that claims to support JSR 45 should do so no with some plugin, but with proper integration in its debugger. JSR 45 is not JSP specific.
(Don't get me wrong - I love Idea for most of my coding needs, but this area is not satisfying)
-hendrik
- Why do I have to set up a server with start/stop-files etc. when I just want to switch to a different stratum during debugging? Why can't I simply specify the main class, VM and program parameters like with any other application? After all, JSR 45 is by no means application server specific.
We complained about this one already. Basically it is because webapps don't work like other java programs, but they share the same UI. I don't know if this kind of change is being considered during the current EAP.
Norris Shelton
Sun Certified Java Programmer
Hendrik Schreiber wrote:
>Hi,
>
>I am trying to get Idea 4.5 to work with the webserver jo! I am especially interested in getting JSR 45 to work. However, I am facing a couple of difficulties:
>
>- Idea documentation about JSR 45 is quasi non-existent - yes, I know, the helpfiles offer descriptions about how to configure Idea, but those descriptions are mostly meaningless.
>
>- Why do I have to set up a server with start/stop-files etc. when I just want to switch to a different stratum during debugging? Why can't I simply specify the main class, VM and program parameters like with any other application? After all, JSR 45 is by no means application server specific.
>
>- JSR 45 support for jo! is evolving - meaning, it is not done yet. To provide flawless support, it would be nice to have a debugger that actually supports it and gives feedback.
>
>- It seems that Idea needs some kind of mapping between packages. How do I have to configure Idea, if a jsp called 'a.jsp' is mapped to a class file 'host_.jsptest_.a_jsp.class'?
>
>Can you guys please help me out?!
>
>Thanks,
>
>-hendrik
>
Norris,
could you point me to the thread that discusses this? I searched, but didn't find it.
Also: Appservers usually use a non trivial classloading scheme. I could imagine that to be the reason. But this is a normal part of the language. Therefore it is nothing special and you should be able to debug it... Even if not, it would still make sense to offer real JSR 45 support for other applications than appservers.
Could one of the Jetbrains please comment on my original post?
Thanks,
-hendrik
Hmmm. I thought there was more conversation there. I created a feature
request:
http://www.intellij.net/tracker/idea/viewSCR?publicId=39822
Norris Shelton
Sun Certified Java Programmer
Hendrik Schreiber wrote:
>>- Why do I have to set up a server with
>>start/stop-files etc. when I just want to switch to a
>>different stratum during debugging? Why can't I
>>simply specify the main class, VM and program
>>parameters like with any other application? After
>>all, JSR 45 is by no means application server
>>specific.
>>
>>We complained about this one already. Basically it
>>is because webapps don't work like other java
>>programs, but they share the same UI. I don't know
>>if this kind of change is being considered during the
>>current EAP.
>>
>>
>
>Norris,
>
>could you point me to the thread that discusses this? I searched, but didn't find it.
>
>Also: Appservers usually use a non trivial classloading scheme. I could imagine that to be the reason. But this is a normal part of the language. Therefore it is nothing special and you should be able to debug it... Even if not, it would still make sense to offer real JSR 45 support for other applications than appservers.
>
>Could one of the Jetbrains please comment on my original post?
>
>Thanks,
>
>-hendrik
>
>
Hi,
Usually, one needs to use the server without knowing much details how it
starts/stops and the start/stop batch files quite often already
available in the server distribution (e.g. Tomcat, Weblogic, WebSphere,
etc) for the end user convenience.
So far we found (AFAIK) only Orion server that has easy to use class
interface so internally we have API for launching the servers that way
(thanks to Orion plugin). You can file the tracker request if you need
such interface in the server run configuration.
Hendrik Schreiber wrote:
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
Hello Hendrik,
Yes, JSR45 is not specific for appliction servers, but we've never met any other case. That is why
we have JSR 45 support only for J2EE run configurations.
It's a real pain to start J2EE server, they all start differently! User interface appeared to be too universal and is
reather complex. Probably we should rework it in some way, at least add some wizards for most common cases.
What kind of feedback do you need?
No. Actually, it's rather hard to get this mapping, as rules for the mapping are complex and usually undocumented.
Usually JSP's are generated into some special package that is 'jsp_servlet' for WebLogic and 'org.apache.jsp' for Tomcat. The pattern is specified in JSR45 run configuration. IDEA tracks all loaded classes that confirm pattern and builds the mapping on the fly from JSR 45 information.
Well, there are other thinkable scenarios. For example for debugging Groovy (http://groovy.codehaus.org/index.html) or Jython (http://www.jython.org/).
Guess I should look at the Orion plugin.
Thanks,
-hendrik
Please see above: Groovy (http://groovy.codehaus.org/index.html) or Jython (http://www.jython.org/). I am sure there are other examples.
I totally understand. And after all you need to make it extra easy for the 90% case, i.e. Tomcat.
It would be nice to have an alternative to calling scripts. And launching the debuggee process just like in the normal debugger should be a piece of cake for you guys. However, this is not the biggest problem.
This is not a feature request, as it is completely useless to the ordinary user of Idea. However, while playing around with this I realized that I have no clue whether the debugger picked up my smap attributes or not and how it mapped them. If there was a setting that allowed me to check what the debugger thinks is going on, that would be nice.
Hm. The name of the source file is in the class file. And all other information you need should be available from the smap attribute. What do you need this package mapping for?
Thanks,
-hendrik
And my special case for OC4J is that it uses the ]]> package, which I could not configure in 'JSR45 Compatible Server'.