I agree 100% with Farhad.  The problem is not with headless but with
your code.  The exception tells you exactly what is happening.  Your
code is not finding the font.  If you want to build fonts, you have to
upload the font files with the right TextAttribute settings.

On 5/7/05, Daniel Watrous <[EMAIL PROTECTED]> wrote:
> Is there at least someone that could tell me where to find more
> information about the option "JAVA_OPTS=-Djava.awt.headless=true"?
> What exactly is its purpose?  Thanks in advance.
> 
> Daniel
> 
> On 5/6/05, Daniel Watrous <[EMAIL PROTECTED]> wrote:
> > Hello,
> >
> > I have a web application that uses java.awt.Font objects to render
> > images.  The application will run in tomcat and that is where I have
> > done development.  When I first tried to run the application on a
> > Linux box with Tomcat 5.0.25 I got the following error:
> >
> > java.lang.NoClassDefFoundError
> >         at com.words2walls.customquote.CustomQuote.getQuoteFontName(Unknown 
> > Source)
> >         at 
> > com.words2walls.webapp.filters.SessionQuoteFilter.doFilter(Unknown Source)
> >
> > Here is the code call that throws the error:
> >     public String getQuoteFontName() {
> >         return QuoteFontType.getInstance(this.quoteFontCode).toString();
> >     }
> >
> > And the class that is being called:
> > /*
> >   * QuoteFontType.java
> >  *
> >  * Created on April 15, 2005, 9:41 AM
> >  */
> >
> > package com.words2walls.customquote;
> >
> > import java.awt.Font;
> > import java.awt.FontFormatException;
> > import java.util.*;
> > import java.io.*;
> >
> > import com.words2walls.customquote.exceptions.FontNotFoundException;
> >
> > /**
> >  * Type safe enumeration of available fonts
> >  *
> >   * @author Daniel Watrous
> >  */
> > public class QuoteFontType {
> >
> >     private static final String pathToWebapp = "C:\\Program
> > Files\\Apache Software Foundation\\Tomcat 5.0\\webapps\\words2walls";
> >     private static final String pathToPackage =
> > "\\WEB-INF\\classes\\com\\words2walls\\fonts\\";
> >     private String fontName;
> >     private int fontCode;
> >     private Font font;
> >     private static org.apache.log4j.Category cat =
> >             
> > org.apache.log4j.Category.getInstance(QuoteFontType.class.getName());
> >
> >     public static final QuoteFontType ADORABLE = new
> > QuoteFontType(1,"Adorable","adorable.ttf");
> >     private static final Map INSTANCES = new HashMap();
> >
> >     static {
> >         cat.debug("Enter Static block to place fonts in INSTANCES Map");
> >         INSTANCES.put (ADORABLE.toInteger(), ADORABLE);
> >         cat.debug("Exit Static block with INSTANCES.size() = " +
> > INSTANCES.size());
> >     }
> >
> >     /** Creates a new instance of QuoteFontType */
> >     private QuoteFontType(int code, String fontName, String filename) {
> >         // create a font from the font file
> >         try {
> >             File fontFile = new File (pathToWebapp+pathToPackage+filename);
> >             FileInputStream fis = new FileInputStream(fontFile);
> >             font = Font.createFont(Font.TRUETYPE_FONT, fis);
> >         } catch (Exception e) {
> >             throw new FontNotFoundException(e);
> >         }
> >         // set member variables
> >         this.font = font;
> >         this.fontCode = code;
> >         this.fontName = fontName;
> >     }
> >
> >     public String toString() {
> >         return fontName;
> >     }
> >
> >     public Integer toInteger() {
> >         return new Integer(fontCode);
> >     }
> >
> >     public static QuoteFontType getInstance(int code) {
> >         return (QuoteFontType) INSTANCES.get(new Integer(code));
> >     }
> >
> >     public Font getFont() {
> >         return font;
> >     }
> >
> > }
> >
> > After some googling I found that if I set an environment variable
> > "JAVA_OPTS=-Djava.awt.headless=true" that this error would go away.
> > I'm not sure why this is the case, but it worked.
> >
> > I am now trying to test the application on a windows machine with
> > Tomcat 5.0.30 and I get the same error.  I have set a Windows XP
> > environment variable the same as mentioned above.  I have also added
> > the option to the Java tab of the Tomcat monitor under Java Options:.
> >
> > What is the cause of this error?  Is there some way that I can make it
> > work on both Windows and Linux?  Thanks in advance.
> >
> > Daniel
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to