I haven't used it, and I'm a little confused from the code: /** ... * <p>If the system property 'disableLuceneLocks' has the String value of * "true", lock creation will be disabled. */ public final class FSDirectory extends Directory { private static final boolean DISABLE_LOCKS = Boolean.getBoolean("disableLuceneLocks") || Constants.JAVA_1_1; ...
I don't see a System.getProperty(String). You might have to patch this, if I'm correct. This should stop the Directory from trying to use locks. HTH, sv On Mon, 23 Aug 2004, Simon mcIlwaine wrote: > Hi Stephane, > > A bit of a stupid question but how do you mean set the system property > disableLuceneLocks=true? Can I do it from a call from FSDirectory API or do > I have to actually hack the code? Also if I do use RODirectory how do I go > about using it? Do I have to update the Lucene JAR archive file with > RODirectory class included as I tried using it and its not recognising the > class? > > Many Thanks > > Simon > > ----- Original Message ----- > From: "Stephane James Vaucher" <[EMAIL PROTECTED]> > To: "Lucene Users List" <[EMAIL PROTECTED]> > Sent: Monday, August 23, 2004 2:22 PM > Subject: Re: Lucene Search Applet > > > > Hi Simon, > > > > Does this work? From FSDirectory api: > > > > If the system property 'disableLuceneLocks' has the String value of > > "true", lock creation will be disabled. > > > > Otherwise, I think there was a Read-Only Directory hack: > > > > http://www.mail-archive.com/[EMAIL PROTECTED]/msg05148.html > > > > HTH, > > sv > > > > On Mon, 23 Aug 2004, Simon mcIlwaine wrote: > > > > > Thanks Jon that works by putting the jar file in the archive attribute. > Now > > > im getting the disablelock error cause of the unsigned applet. Do I just > > > comment out the code anywhere where System.getProperty() appears in the > > > files that you specified and then update the JAR Archive?? Is it > possible > > > you could show me one of the hacked files so that I know what I'm > modifying? > > > Does anyone else know if there is another way of doing this without > having > > > to hack the source code? > > > > > > Many thanks. > > > > > > Simon > > > > > > ----- Original Message ----- > > > From: "Jon Schuster" <[EMAIL PROTECTED]> > > > To: "Lucene Users List" <[EMAIL PROTECTED]> > > > Sent: Saturday, August 21, 2004 2:08 AM > > > Subject: Re: Lucene Search Applet > > > > > > > > > > I have Lucene working in an applet and I've seen this problem only > when > > > > the jar file really was not available (typo in the jar name), which is > > > > what you'd expect. It's possible that the classpath for your > > > > application is not the same as the classpath for the applet; perhaps > > > > they're using different VMs or JREs from different locations. > > > > > > > > Try referencing the Lucene jar file in the archive attribute of the > > > > applet tag. > > > > > > > > Also, to get Lucene to work from an unsigned applet, I had to modify a > > > > few classes that call System.getProperty(), because the properties > that > > > > were being requested were disallowed for applets. I think the classes > > > > were IndexWriter, FSDirectory, and BooleanQuery. > > > > > > > > --Jon > > > > > > > > > > > > On Aug 20, 2004, at 6:57 AM, Simon mcIlwaine wrote: > > > > > > > > > Im a new Lucene User and I'm not too familiar with Applets either > but > > > > > I've > > > > > been doing a bit of testing on java applet security and if im > correct > > > > > in > > > > > saying that applets can read anything below there codebase then my > > > > > problem > > > > > is not a security restriction one. The error is reading > > > > > java.lang.NoClassDefFoundError and the classpath is set as I have it > > > > > working > > > > > in a Swing App. Does someone actually have Lucene working in an > > > > > Applet? Can > > > > > it be done?? Please help. > > > > > > > > > > Thanks > > > > > > > > > > Simon > > > > > > > > > > ----- Original Message ----- > > > > > > > > > > From: "Terry Steichen" <[EMAIL PROTECTED]> > > > > > To: "Lucene Users List" <[EMAIL PROTECTED]> > > > > > Sent: Wednesday, August 18, 2004 4:17 PM > > > > > Subject: Re: Lucene Search Applet > > > > > > > > > > > > > > > I suspect it has to do with the security restrictions of the applet, > > > > > 'cause > > > > > it doesn't appear to be finding your Lucene jar file. Also, > regarding > > > > > the > > > > > lock files, I believe you can disable the locking stuff just for > > > > > purposes > > > > > like yours (read-only index). > > > > > > > > > > Regards, > > > > > > > > > > Terry > > > > > ----- Original Message ----- > > > > > From: Simon mcIlwaine > > > > > To: Lucene Users List > > > > > Sent: Wednesday, August 18, 2004 11:03 AM > > > > > Subject: Lucene Search Applet > > > > > > > > > > > > > > > Im developing a Lucene CD-ROM based search which will search html > > > > > pages on > > > > > CD-ROM, using an applet as the UI. I know that theres a problem with > > > > > lock > > > > > files and also security restrictions on applets so I am using the > > > > > RAMDirectory. I have it working in a Swing application however when > I > > > > > put it > > > > > into an applet its giving me problems. It compiles but when I go to > > > > > run the > > > > > applet I get the error below. Can anyone help? Thanks in advance. > > > > > Simon > > > > > > > > > > Error: > > > > > > > > > > Java.lang.noClassDefFoundError: org/apache/lucene/store/Directory > > > > > > > > > > At: Java.lang.Class.getDeclaredConstructors0(Native Method) > > > > > > > > > > At: > Java.lang.Class.privateGetDeclaredConstructors(Class.java:1610) > > > > > > > > > > At: Java.lang.Class.getConstructor0(Class.java:1922) > > > > > > > > > > At: Java.lang.Class.newInstance0(Class.java:278) > > > > > > > > > > At: Java.lang.Class.newInstance(Class.java:261) > > > > > > > > > > At: sun.applet.AppletPanel.createApplet(AppletPanel.java:617) > > > > > > > > > > At: sun.applet.AppletPanel.runloader(AppletPanel.java:546) > > > > > > > > > > At: sun.applet.AppletPanel.run(AppletPanel.java:298) > > > > > > > > > > At: java.lang.Thread.run(Thread.java:534) > > > > > > > > > > Code: > > > > > > > > > > import org.apache.lucene.search.IndexSearcher; > > > > > > > > > > import org.apache.lucene.search.Query; > > > > > > > > > > import org.apache.lucene.search.TermQuery; > > > > > > > > > > import org.apache.lucene.store.RAMDirectory; > > > > > > > > > > import org.apache.lucene.store.Directory; > > > > > > > > > > import org.apache.lucene.index.Term; > > > > > > > > > > import org.apache.lucene.search.Hits; > > > > > > > > > > import java.awt.*; > > > > > > > > > > import java.awt.event.*; > > > > > > > > > > import javax.swing.*; > > > > > > > > > > import java.io.*; > > > > > > > > > > public class MemorialApp2 extends JApplet implements > ActionListener{ > > > > > > > > > > JLabel prompt; > > > > > > > > > > JTextField input; > > > > > > > > > > JButton search; > > > > > > > > > > JPanel panel; > > > > > > > > > > String indexDir = "C:/Java/lucene/index-list"; > > > > > > > > > > private static RAMDirectory idx; > > > > > > > > > > public void init(){ > > > > > > > > > > Container cp = getContentPane(); > > > > > > > > > > panel = new JPanel(); > > > > > > > > > > panel.setLayout(new FlowLayout(FlowLayout.CENTER, 4, 4)); > > > > > > > > > > prompt = new JLabel("Keyword search:"); > > > > > > > > > > input = new JTextField("",20); > > > > > > > > > > search = new JButton("Search"); > > > > > > > > > > search.addActionListener(this); > > > > > > > > > > panel.add(prompt); > > > > > > > > > > panel.add(input); > > > > > > > > > > panel.add(search); > > > > > > > > > > cp.add(panel); > > > > > > > > > > } > > > > > > > > > > public void actionPerformed(ActionEvent e){ > > > > > > > > > > if (e.getSource() == search){ > > > > > > > > > > String surname = (input.getText()); > > > > > > > > > > try { > > > > > > > > > > findSurname(indexDir, surname); > > > > > > > > > > } catch(Exception ex) { > > > > > > > > > > System.err.println(ex); > > > > > > > > > > } > > > > > > > > > > } > > > > > > > > > > } > > > > > > > > > > public static void findSurname(String indexDir, String surname) > > > > > throws > > > > > Exception{ > > > > > > > > > > idx = new RAMDirectory(indexDir); > > > > > > > > > > IndexSearcher searcher = new IndexSearcher(idx); > > > > > > > > > > Query query = new TermQuery(new Term("surname", surname)); > > > > > > > > > > Hits hits = searcher.search(query); > > > > > > > > > > for (int i = 0; i < hits.length(); i++) { > > > > > > > > > > //Document doc = hits.doc(i); > > > > > > > > > > System.out.println("Surname: " + hits.doc(i).get("surname")); > > > > > > > > > > } > > > > > > > > > > } > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]