<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">One of the many reasons why I love JBoss AS7 :))<br><div><br><div>Begin forwarded message:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>From: </b></span><span style="font-family:'Helvetica'; font-size:medium;">Galder Zamarreņo &lt;<a href="mailto:galder@zamarreno.com">galder@zamarreno.com</a>&gt;<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>Subject: </b></span><span style="font-family:'Helvetica'; font-size:medium;"><b>Re: [Lift] Re: java.lang.VerifyError using Lift-2.5-M4 with Scala-2.10</b><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>Date: </b></span><span style="font-family:'Helvetica'; font-size:medium;">February 20, 2013 9:14:36 AM GMT+01:00<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>To: </b></span><span style="font-family:'Helvetica'; font-size:medium;"><a href="mailto:liftweb@googlegroups.com">liftweb@googlegroups.com</a><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>Reply-To: </b></span><span style="font-family:'Helvetica'; font-size:medium;"><a href="mailto:liftweb@googlegroups.com">liftweb@googlegroups.com</a><br></span></div><br>Those using Escalante will find that there's no need for any classloading workaround (or black magic) to solve the commons-codec issue.<div><br></div><div>The problem I was facing was a simple user error where I was adding two different versions of commons-codec to the WAR file (again, transitive dependencies stabbing me in the back...)</div><div><br></div><div>But, what it's nice about Escalante is that deployments work totally separate of the jars the server uses. In fact, JBoss Application Server 7 that sits beneath Escalante uses commons-codec 1.4 for some of its internal components, but this dependency never leaks into the deployments unless you force it through. So, by default, you'll never find server jars leaking into deployments.</div><div><br></div><div>So, if you wanna avoid classloading nightmares, I'd highly recommend that you deploy Lift apps on Escalante :)</div><div><br>On Saturday, 16 February 2013 20:14:26 UTC+1, Peter Petersson  wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div>On 02/16/2013 05:09 PM, Richard
      Dallaway wrote:<br>
    </div>
    <blockquote type="cite">Thank you Peter. &nbsp;The inverted class-loader is the
      behaviour I'd expect for a servlet container.&nbsp;Is it now more a
      question of why it ever worked, rather than why it doesn't work
      with 2.10? :-)</blockquote>
    <br>
    Yea you could say that. <br>
    The reason I did not tested with inverse-classloading from the
    beginning was that it did not make sense for the app to end up in a
    vastly different class loading scenario just because it was compiled
    with a different version of Scala (this is still a bit fuzzy) &nbsp; &nbsp; <br>
    <br>
    Inverse classloading should be avoided in a production environment
    as it affects all classes but it is a nice tool to have for finding
    out stuff like this :). <br>
    <br>
    The best workaround (and a acceptable one) for the problem is to use
    the following in the geronimo deployment plan. <br>
    <br>
    &lt;sys:import-package&gt;
    !org.apache.commons.codec*&lt;/<wbr>sys:import-package&gt;<br>
    Note: This is the preferred replacement of the older hidden-classes
    filter stuff<br>
    <br>
    It will filter out the containers common codec so that the app will
    get hold of its own codec jar (in the war /lib/)<br>
    Lift is currently using commons codec v1.6 in all builds.<br>
    <br>
    I have found two uses of common codec (v1.3) in the geronomo
    container&nbsp; <br>
    * In the enterprise service bus stuff provided by the ServiceMix
    component <br>
    * In Apache Felix Preferences Service (OSGI stuff,
    org.apache.felix.prefs-1.0.4.<wbr>jar)<br>
    <br>
    The late is core stuff in Geronimo so that is probably the one
    interfering with the Scala 2.10 build <br>
    <br>
    best regards <br>
    &nbsp; Peter Petersson<br>
    &nbsp;<br>
    <br>
    <blockquote type="cite">
      <div>Richard</div>
      <div><br>
      </div>
      <div>1&nbsp;<a href="https://cwiki.apache.org/GMOxDOC22/classloading.html" target="_blank">https://cwiki.apache.org/<wbr>GMOxDOC22/classloading.html</a></div>
      <div><br>
        <div class="gmail_quote">On 16 February 2013 11:56, Peter
          Petersson <span dir="ltr">&lt;<a href="javascript:" target="_blank" gdf-obfuscated-mailto="_Zl1eKFjYIwJ">peterss...@gmail.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF">
              <div><br>
                As you can see on the Geronimo list i have found a work
                around for Geronimo deployment. <br>
                However the solution I use may not be optimal in all
                situations so I hope someone in the Geronimo community
                will take a closer look.<br>
                <br>
                The way I resolved the deploy/start problem with the
                2.10 build was to add the inverse-classloading [1]
                setting to geronimo's deployment descriptor.<br>
                <br>
                [1] <a href="http://geronimo.apache.org/schemas-3.0/docs/geronimo-module-1.2.xsd.html#h1508775248" target="_blank">http://geronimo.apache.org/<wbr>schemas-3.0/docs/geronimo-<wbr>module-1.2.xsd.html#<wbr>h1508775248</a><br>
                <br>
                best regards <br>
                <span><font color="#888888"> &nbsp; Peter
                    Petersson</font></span>
                <div>
                  <div><br>
                    &nbsp;<br>
                    <br>
                    On 02/16/2013 12:48 PM, Richard Dallaway wrote:<br>
                  </div>
                </div>
              </div>
              <div>
                <div>
                  <blockquote type="cite">Thanks for this - I'm
                    currently trying to get some traction on the issue
                    for Geronimo. I'm hoping what we find for that will
                    help with this.
                    <div><br>
                    </div>
                    <div>Richard<br>
                      <br>
                      <div class="gmail_quote">On 14 February 2013
                        09:28, Galder Zamarreņo <span dir="ltr">&lt;<a href="javascript:" target="_blank" gdf-obfuscated-mailto="_Zl1eKFjYIwJ">gal...@zamarreno.com</a>&gt;</span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Richard,
                          <div><br>
                          </div>
                          <div>I was able to replicate the issue with
                            this repo:</div>
                          <div><a href="https://github.com/galderz/escalante/tree/t_rearch" target="_blank">https://github.com/galderz/<wbr>escalante/tree/t_rearch</a></div>
                          <div><br>
                          </div>
                          <div>To reproduce:</div>
                          <div><br>
                          </div>
                          <div>1. Change Scala version in&nbsp;<a href="https://github.com/galderz/escalante/blob/t_rearch/pom.xml" target="_blank">https://github.com/galderz/<wbr>escalante/blob/t_rearch/pom.<wbr>xml</a>
                            to 2.10</div>
                          <div>2. Do: mvn clean install -pl build</div>
                          <div>3. Either from IDE or command line, run
                            this Arquillian test:&nbsp;<a href="https://github.com/galderz/escalante/blob/t_rearch/modules/lift/src/it/testsuite/src/test/scala/io/escalante/test/lift/helloworld/HelloWorldTest.scala" target="_blank">https://github.com/<wbr>galderz/escalante/blob/t_<wbr>rearch/modules/lift/src/it/<wbr>testsuite/src/test/scala/io/<wbr>escalante/test/lift/<wbr>helloworld/HelloWorldTest.<wbr>scala</a></div>
                          <div><br>
                          </div>
                          <div>NOTE: Test uses embedded Escalante
                            instance, so give it some hefty VM options
                            and add correct log manager, i.e.</div>
                          <div><br>
                          </div>
                          <div>
                            <div style="background-color:rgb(250,250,250);border:1px solid rgb(187,187,187);word-wrap:break-word"> <code>
                                <div><span style="color:#660">-</span><span style="color:#606">Xmx512m</span><span>
                                  </span><span style="color:#660">-</span><span>XX</span><span style="color:#660">:</span><span style="color:#606">MaxPermSize</span><span style="color:#660">=</span><span style="color:#066">256m</span><span>
                                  </span><span style="color:#660">-</span><span style="color:#606">Djava</span><span style="color:#660">.</span><span>util</span><span style="color:#660">.</span><span>logging</span><span style="color:#660">.</span><span>manager</span><span style="color:#660">=</span><span>or<wbr>g</span><span style="color:#660">.</span><span>jboss</span><span style="color:#660">.</span><span>logmanager</span><span style="color:#660">.</span><span style="color:#606">LogManager</span></div>
                              </code></div>
                          </div>
                          <div><br>
                          </div>
                          <div>Cheers,
                            <div><br>
                              <br>
                              On Wednesday, 13 February 2013 12:05:39
                              UTC+1, Richard Dallaway wrote:</div>
                            <blockquote class="gmail_quote" style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">
                              <div>Thank you. My simple (non-Lift) app
                                deploys OK under both those versions.
                                &nbsp;I've also just tried the M4 lift_blank
                                template and that deployed and ran OK
                                under Tomcat 7.0.28 with Scala 2.10
                                under JDK 1.7.&nbsp;
                                <div> <br>
                                </div>
                                <div>If you can get a github repo
                                  together that reproduces the problem,
                                  I'm happy to take a look. &nbsp;Just let me
                                  know.</div>
                                <div><br>
                                </div>
                                <div>Richard&nbsp;</div>
                              </div>
                              <div><br>
                                <div class="gmail_quote">On 13 February
                                  2013 09:59, Andreas Joseph Krogh <span dir="ltr">&lt;<a>and...@officenet.no</a>&gt;</span>
                                  wrote:<br>
                                  <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                    <div>På onsdag 13. februar 2013 kl.
                                      10:45:42, skrev Richard Dallaway
                                      &lt;<a>ric...@dallaway.com</a>&gt;:</div>
                                    <div>
                                      <div>
                                        <blockquote style="border-left:1px solid rgb(204,204,204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">Thanks
                                          for that -- which Tomcat is
                                          that?
                                          <div>&nbsp;</div>
                                          <div>I notice Geronimo use
                                            7.0.27 but I've been using
                                            7.0.35</div>
                                        </blockquote>
                                        <div>&nbsp;</div>
                                      </div>
                                      <div>My standalone Tomcat is
                                        7.0.28 and the
                                        tomcat7-maven-plugin-2.0 uses
                                        Tomcat-7.0.30</div>
                                    </div>
                                    <div>
                                      <div>
                                        <div>&nbsp;</div>
                                        <div>--<br>
                                          Andreas Joseph Krogh &lt;<a>and...@officenet.no</a>&gt;&nbsp;

                                          &nbsp; &nbsp; mob: <a value="+4790956963">+47 909
                                            56 963</a>
                                          <div><br>
                                            Senior Software Developer /
                                            CTO - OfficeNet AS - <a href="http://www.officenet.no/" target="_blank">http://www.officenet.no</a><br>
                                            Public key: <a href="http://home.officenet.no/%7Eandreak/public_key.asc" target="_blank">http://home.officenet.no/~<wbr>andreak/public_key.asc</a></div>
                                        </div>
                                        <div>
                                          <div>&nbsp;</div>
                                          -- <br>
                                          -- <br>
                                          Lift, the simply functional
                                          web framework: <a href="http://liftweb.net/" target="_blank">http://liftweb.net</a><br>
                                          Code: <a href="http://github.com/lift" target="_blank">http://github.com/lift</a><br>
                                          Discussion: <a href="http://groups.google.com/group/liftweb" target="_blank">http://groups.google.com/<wbr>group/liftweb</a><br>
                                          Stuck? Help us help you: <a href="https://www.assembla.com/wiki/show/liftweb/Posting_example_code" target="_blank">https://www.assembla.com/wiki/<wbr>show/liftweb/Posting_example_<wbr>code</a><br>
                                          &nbsp;<br>
                                          --- <br>
                                          You received this message
                                          because you are subscribed to
                                          the Google Groups "Lift"
                                          group.<br>
                                        </div>
                                        To unsubscribe from this group
                                        and stop receiving emails from
                                        it, send an email to <a>liftweb+u...@googlegroups.com</a>.
                                        <div><br>
                                          For more options, visit <a href="https://groups.google.com/groups/opt_out" target="_blank">https://groups.google.com/<wbr>groups/opt_out</a>.<br>
                                          &nbsp;<br>
                                          &nbsp;<br>
                                        </div>
                                      </div>
                                    </div>
                                  </blockquote>
                                </div>
                                <br>
                              </div>
                            </blockquote>
                          </div>
                          <div>
                            <div> -- <br>
                              -- <br>
                              Lift, the simply functional web framework:
                              <a href="http://liftweb.net/" target="_blank">http://liftweb.net</a><br>
                              Code: <a href="http://github.com/lift" target="_blank">http://github.com/lift</a><br>
                              Discussion: <a href="http://groups.google.com/group/liftweb" target="_blank">http://groups.google.com/<wbr>group/liftweb</a><br>
                              Stuck? Help us help you: <a href="https://www.assembla.com/wiki/show/liftweb/Posting_example_code" target="_blank">https://www.assembla.com/wiki/<wbr>show/liftweb/Posting_example_<wbr>code</a><br>
                              &nbsp;<br>
                              --- <br>
                              You received this message because you are
                              subscribed to the Google Groups "Lift"
                              group.<br>
                              To unsubscribe from this group and stop
                              receiving emails from it, send an email to
                              <a href="javascript:" target="_blank" gdf-obfuscated-mailto="_Zl1eKFjYIwJ">liftweb+u...@<wbr>googlegroups.com</a>.<br>
                              For more options, visit <a href="https://groups.google.com/groups/opt_out" target="_blank">https://groups.google.com/<wbr>groups/opt_out</a>.<br>
                              &nbsp;<br>
                              &nbsp;<br>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                    -- <br>
                    -- <br>
                    Lift, the simply functional web framework: <a href="http://liftweb.net/" target="_blank">http://liftweb.net</a><br>
                    Code: <a href="http://github.com/lift" target="_blank">http://github.com/lift</a><br>
                    Discussion: <a href="http://groups.google.com/group/liftweb" target="_blank">http://groups.google.com/<wbr>group/liftweb</a><br>
                    Stuck? Help us help you: <a href="https://www.assembla.com/wiki/show/liftweb/Posting_example_code" target="_blank">https://www.assembla.com/wiki/<wbr>show/liftweb/Posting_example_<wbr>code</a><br>
                    &nbsp;<br>
                    --- <br>
                    You received this message because you are subscribed
                    to the Google Groups "Lift" group.<br>
                    To unsubscribe from this group and stop receiving
                    emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="_Zl1eKFjYIwJ">liftweb+u...@<wbr>googlegroups.com</a>.<br>
                    For more options, visit <a href="https://groups.google.com/groups/opt_out" target="_blank">https://groups.google.com/<wbr>groups/opt_out</a>.<br>
                    &nbsp;<br>
                    &nbsp;<br>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
            <div>
              <div>
                -- <br>
                -- <br>
                Lift, the simply functional web framework: <a href="http://liftweb.net/" target="_blank">http://liftweb.net</a><br>
                Code: <a href="http://github.com/lift" target="_blank">http://github.com/lift</a><br>
                Discussion: <a href="http://groups.google.com/group/liftweb" target="_blank">http://groups.google.com/<wbr>group/liftweb</a><br>
                Stuck? Help us help you: <a href="https://www.assembla.com/wiki/show/liftweb/Posting_example_code" target="_blank">https://www.assembla.com/wiki/<wbr>show/liftweb/Posting_example_<wbr>code</a><br>
                &nbsp;<br>
                --- <br>
                You received this message because you are subscribed to
                the Google Groups "Lift" group.<br>
                To unsubscribe from this group and stop receiving emails
                from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="_Zl1eKFjYIwJ">liftweb+u...@<wbr>googlegroups.com</a>.<br>
                For more options, visit <a href="https://groups.google.com/groups/opt_out" target="_blank">https://groups.google.com/<wbr>groups/opt_out</a>.<br>
                &nbsp;<br>
                &nbsp;<br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      -- <br>
      -- <br>
      Lift, the simply functional web framework: <a href="http://liftweb.net/" target="_blank">http://liftweb.net</a><br>
      Code: <a href="http://github.com/lift" target="_blank">http://github.com/lift</a><br>
      Discussion: <a href="http://groups.google.com/group/liftweb" target="_blank">http://groups.google.com/<wbr>group/liftweb</a><br>
      Stuck? Help us help you: <a href="https://www.assembla.com/wiki/show/liftweb/Posting_example_code" target="_blank">https://www.assembla.com/wiki/<wbr>show/liftweb/Posting_example_<wbr>code</a><br>
      &nbsp;<br>
      --- <br>
      You received this message because you are subscribed to the Google
      Groups "Lift" group.<br>
      To unsubscribe from this group and stop receiving emails from it,
      send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="_Zl1eKFjYIwJ">liftweb+u...@<wbr>googlegroups.com</a>.<br>
      For more options, visit <a href="https://groups.google.com/groups/opt_out" target="_blank">https://groups.google.com/<wbr>groups/opt_out</a>.<br>
      &nbsp;<br>
      &nbsp;<br>
    </blockquote>
    <br>
  </div>

</blockquote></div><div><br class="webkit-block-placeholder"></div>

-- <br>
-- <br>
Lift, the simply functional web framework: <a href="http://liftweb.net/">http://liftweb.net</a><br>
Code: <a href="http://github.com/lift">http://github.com/lift</a><br>
Discussion: <a href="http://groups.google.com/group/liftweb">http://groups.google.com/group/liftweb</a><br>
Stuck? Help us help you: <a href="https://www.assembla.com/wiki/show/liftweb/Posting_example_code">https://www.assembla.com/wiki/show/liftweb/Posting_example_code</a><br>
&nbsp;<br>
--- <br>
You received this message because you are subscribed to the Google Groups "Lift" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:liftweb+unsubscribe@googlegroups.com">liftweb+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a href="https://groups.google.com/groups/opt_out">https://groups.google.com/groups/opt_out</a>.<br>
&nbsp;<br>
&nbsp;<br>
</blockquote></div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div><br class="Apple-interchange-newline">--</div><div>Galder Zamarreņo</div><div><a href="mailto:galder@redhat.com">galder@redhat.com</a></div><div><a href="http://twitter.com/galderz">twitter.com/galderz</a></div><div><br></div><div>Project Lead, Escalante</div><div><a href="http://escalante.io">http://escalante.io</a></div><div><br></div><div>Engineer, Infinispan</div><div><a href="http://infinispan.org">http://infinispan.org</a></div></span>
</div>
<br></body></html>