<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: JBoss tools does not put impl classes on classpath for AS7
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/henk53">henk de boer</a> in <i>JBoss Tools</i> - <a href="https://community.jboss.org/message/720548#720548">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><blockquote class="jive-quote"><p>Max Rydahl Andersen wrote:
<p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p>
<p>"Adding everything by default" is what I mean and I also mean that we can't have a optional runtime that includes everything.</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p>
<p>Simply because "include everything" =&gt; broken classpath.</p></p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Hmmm, okay. I think I'm slowly starting to understand the issue (I'm a somewhat older guy, so those things take some time with me <span> :p </span>). The point is thus that in reality there is a class loader hierarchy in place, where classes are shielded from each other. But Eclipse has no such notion, and will simply put everything on a flat classpath when "everything is included", right?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><p><span style="font-family: 'Lucida Grande', Arial, Helvetica, sans-serif;">I agree - but adding jars onto the classpath is unfortunately not just about Ctrl+T working but it also affect junit launches and other things.<br/></span></p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I understand this now. Thanks for pointing it out, Max!</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>What we maybe need is a system for decoupling class discovery (Ctrl+T) and introspection (type hierarchy, references, etc) from presence on the classpath. This is never going to be an easy thing of course and should maybe be solved at the Eclipse/JDT core. I'm imagining a system where a library container/server runtime has a large collection of classes in jars that it manages, with only a subset of those being put on the classpath by default and where the user can pick and choose additional jars.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>In the case of Jboss, the server runtime would indeed only put the API classes on the classpath, but it would participate in Ctrl-T searches and respond to a query for say "FacesContextImpl" (even though that particular class isn't on the classpath). Double clicking on the search result would open the file with source visible, and if "link with editor" is enabled I would see the containing jar in the project explorer. Right clicking on said jar would enable me to directly add the jar to the classpath.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Could that theoretically work?</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/720548#720548">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Tools at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2128">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>