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]