cancel
Showing results for 
Search instead for 
Did you mean: 

V1 Build

rdanner
Champ in-the-making
Champ in-the-making
If you just download the source code and run the build the war it has some problems:

It loads fine but when you hit the site/app .. you get nothing.  I'm using tomcat.  Old versions of the source build and deploy fine. 

I'm going to dig around for this… but I wanted to put it out there incase others know what the deal is.
6 REPLIES 6

rdanner
Champ in-the-making
Champ in-the-making
If you just download the source code and run the build the war it has some problems:

It loads fine but when you hit the site/app .. you get nothing.  I'm using tomcat.  Old versions of the source build and deploy fine. 

I'm going to dig around for this… but I wanted to put it out there incase others know what the deal is.


If I force the app to load a faces page (browse.jsp) I get

org.apache.jasper.JasperException: Unable to read TLD "META-INF/c.tld" from JAR file "file:/C:/rdanner/servers/appservers/tomcat/tomcat/webapps/alfresco/WEB-INF/lib/standard.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV
   org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
   org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
   org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:179)
   org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:181)
   org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
   org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
   org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543)
   org.apache.jasper.compiler.Parser.parse(Parser.java:126)
   org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
   org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
   org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
   org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
   org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
   org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
   org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

I assume there are some jar files making it in to the deployment that should not or that are getting tangled with tomcat?

rdanner
Champ in-the-making
Champ in-the-making
If you just download the source code and run the build the war it has some problems:

It loads fine but when you hit the site/app .. you get nothing.  I'm using tomcat.  Old versions of the source build and deploy fine. 

I'm going to dig around for this… but I wanted to put it out there incase others know what the deal is.


If I force the app to load a faces page (browse.jsp) I get

org.apache.jasper.JasperException: Unable to read TLD "META-INF/c.tld" from JAR file "file:/C:/rdanner/servers/appservers/tomcat/tomcat/webapps/alfresco/WEB-INF/lib/standard.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV
   org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
   org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
   org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:179)
   org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:181)
   org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
   org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
   org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543)
   org.apache.jasper.compiler.Parser.parse(Parser.java:126)
   org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
   org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
   org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
   org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
   org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
   org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
   org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

I assume there are some jar files making it in to the deployment that should not or that are getting tangled with tomcat?



The winners are (jars that exist in the built war and not in the dowloadable one):

spring-mock.jar
jsp.jar
mysql-connector-java-3.1.10-bin.jar
servlet.jar
tlddoc.jar
yguard.jar

The ones I am suspicious (getting in the way of the servlet engine) of are
jsp.jar
servlet.jar
tlddoc.jar


Anyway.. remove these and things work… I haven't looked at the ant scripts to see how these make it in.

gavinc
Champ in-the-making
Champ in-the-making
Hi Russ,

I have downloaded the source bundle and tried building it here and it all appear to be OK.

The following line is defined in common.properties which lists the JARs to be excluded from the WEB-INF/lib folder:

webinf.lib.excludes=ant.jar,axis-ant.jar,jsp.jar,servlet.jar,junit.jar,mysql-connector*.jar,spring-mock.jar,tlddoc.jar,yguard.jar

The eventually gets used in projects/web-client/project-build.xml when building the WAR file.

Have you altered any of the ant scripts at all, as it may be that the property is not being found and therefore all JARs are being included?

rdanner
Champ in-the-making
Champ in-the-making
Hi Russ,

I have downloaded the source bundle and tried building it here and it all appear to be OK.

The following line is defined in common.properties which lists the JARs to be excluded from the WEB-INF/lib folder:

webinf.lib.excludes=ant.jar,axis-ant.jar,jsp.jar,servlet.jar,junit.jar,mysql-connector*.jar,spring-mock.jar,tlddoc.jar,yguard.jar

The eventually gets used in projects/web-client/project-build.xml when building the WAR file.

Have you altered any of the ant scripts at all, as it may be that the property is not being found and therefore all JARs are being included?

Yeah, I saw that line.  It has a @{for} at the end of it but the build for the web app doesnt.  I am not familiar with the @ in ant.  I dont know if that has something to do with the problem.

The funny thing was that the most offensivce jars where mentioned first in the list of excludes.  I'll be building all day so I am sure I'll get motivated enough to actually figure out why the thing is including all the excluded jars in the war lib folder

gavinc
Champ in-the-making
Champ in-the-making
The target that builds the WAR file in the web-client project is using an Ant Macro (new feature of 1.6.x) where you can basically "template" some script. The @ is used for passing parameters.

If you look at project.properties in the web-client folder you'll see the properties "webinf.lib.excludes.tomcat" and "webinf.lib.excludes.jboss". The @ sign is basically replaced by either "tomcat" or "jboss" when the macro is called, which in turn uses the appropriate property.

I hope that makes sense!

Anyway, it may be that something around this area is not being resolved. You could try putting the following in the ant script to see if the property has anything meaningful in it:

<echo>webinf.lib.excludes.tomcat = $webinf.lib.excludes.tomcat</echo>

rdanner
Champ in-the-making
Champ in-the-making
The target that builds the WAR file in the web-client project is using an Ant Macro (new feature of 1.6.x) where you can basically "template" some script. The @ is used for passing parameters.

If you look at project.properties in the web-client folder you'll see the properties "webinf.lib.excludes.tomcat" and "webinf.lib.excludes.jboss". The @ sign is basically replaced by either "tomcat" or "jboss" when the macro is called, which in turn uses the appropriate property.

I hope that makes sense!

Anyway, it may be that something around this area is not being resolved. You could try putting the following in the ant script to see if the property has anything meaningful in it:

<echo>webinf.lib.excludes.tomcat = $webinf.lib.excludes.tomcat</echo>

Well thats good news and bad news Smiley Happy we have done a lot in our build harnesses to make the parameterized.  So maybe this new macro functionality will make these scripts more simple. 

I am using 1.6.x and the @{for} is not being resolved.