[Geany] Not able to run .class files ( Java) in geany

R.Siddharth rsiddharth.mail at xxxxx
Mon Nov 9 03:44:31 UTC 2009


I facing some problems in running java.class files from geany, I am able
to successfully compile the the java source files . 

Here is a simple example of what is happening : 
I have a Source file named VowelsToUnderScores.java which resides under
the package(directory) called 'strings' . I have set the classpath for
both the Compilation and Execution in "Set Includes and Arguments"
dialog box and the commands in the dialog box goes like this:
-------------------------
Java source file commands 

Compile : javac -classpath /home/siddharth/Programming/Java\
Files/oprt/opr/src "%f"

Execute : java -classpath /home/siddharth/Programming/Java\
Files/oprt/opr/src "%e"

----------------------

As I said the compilation was successful but when I run the compiled
file (F5) , I get get an error in the Run Window which shows the
following error messages : 

----------------------------------
Exception in thread "main" java.lang.NoClassDefFoundError:
VowelsToUnderScores
Caused by: java.lang.ClassNotFoundException: VowelsToUnderScores
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
Could not find the main class: VowelsToUnderScores. Program will exit.
----------------------------------------------

Here is the code written in VowelsToUnderScores.java file for your
reference :
-------------------------------------------------
/*
 *      VowelsToUnderScores.java
 *      
 *      Copyright 2009 R.Siddharth 
 *      
 *      This program is free software; you can redistribute it and/or
*modify
 *      it under the terms of the GNU General Public License as
*published by
 *      the Free Software Foundation; either version 2 of the License,
*or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public
*License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */
package strings;
import java.util.regex.*;
public class VowelsToUnderScores {
    private String s ;
    private Pattern p;
    private Matcher m;
    private boolean b;
    public VowelsToUnderScores(String a) {
        this.s = a ;
        p = Pattern.compile("[a,e,i,o,u,A,E,I,O,U]"); 
    }
    
    public void vwlsto_() {
        m = p.matcher(this.s);
        String rs ;
        rs = m.replaceAll("_");
        System.out.println(rs); 
    }
	public static void main (String args[]) {		
		VowelsToUnderScores vtu = new VowelsToUnderScores("I am using
GNU/Linux Operating system.");
		vtu.vwlsto_();
	}
}
-----------------------------------------------------------------
Here's another bit of information which I accidentally found when
writing this mail - when I comment the package information and make the
Execute command in the Set Includes and Argument dialog look like this :

--------
Execute : java "%e"
----------
Then I am able to run the program successfully ! .  

 
I want to be able to run the code with the package information intact .
Can any one here help me out ? . 

Thank you for your help .
-- 
rsiddharthATgmailDOTCOM




More information about the Users mailing list