Java library class not recognized? - java

I am importing this following :
import org.apache.lucene.analysis.PorterStemmer
in Java program. The whole package is available in refrenced library.
I tried importing
import org.apache.lucene.analysis.PorterStemFilter
and
import org.apache.lucene.analysis.Analyzer;
both are working fine except the first one mentioned
Can anybody point out why ?!

Package org.apache.lucene.analysis.PorterStemmer is not a public package which is why you cannot import it. If you look at this package inside the library, you'll notice that it begins with class PorterStemmer instead of public class PorterStemmer.

My guess is that you have a different version of the Lucene JAR that doesn't contain the class that's failing to work. Open the JAR with WinZip, 7Zip, or some other tool and see if that class is indeed missing. If it is, you either need to find a version of the JAR that has it or rewrite your code to use an alternative.

Related

Why cannot use weka.classifiers.functions.PLSClassifier

I am trying to use weka's PLSClassifier using java, but when I tried to import weka.classifiers.functions.PLSClassifier into eclipse, it gives me error(The error is import weka.classifiers.functions.PLSClassifier cannot be resolved). The weka I use is the latest version3.7, but I found no class PLSClass under weka.classifiers.functions.
The documentation for this class is: http://weka.sourceforge.net/doc.stable/weka/classifiers/functions/PLSClassifier.html
I would like to know do I need addition package to support this?
I found an external PLSClass package and solve the problem. It seems that in the original weka library, there is no PLSClass under weka.classifiers.functions package.

Java library import difficulty

I'm trying to compile a small test program I have written for a raspberry pi.
The program makes use of the Pi4J library to control the piface add-on board.
What I have done so far is based on the following tutorial: http://www.savagehomeautomation.com/piface
While I can get the above example program to compile within my IDE after setting up the class paths I get compile errors with the one I have made and as far as I can tell the imports are set up in the same way.
It says that each of the following packages does not exist:
import java.io.IOException;
import com.pi4j.component.switches.SwitchListener;
import com.pi4j.component.switches.SwitchState;
import com.pi4j.component.switches.SwitchStateChangeEvent;
import com.pi4j.device.piface.PiFace;
import com.pi4j.device.piface.PiFaceLed;
import com.pi4j.device.piface.PiFaceRelay;
import com.pi4j.device.piface.PiFaceSwitch;
import com.pi4j.device.piface.impl.PiFaceDevice;
import com.pi4j.wiringpi.Spi;
I'm assuming that my problem is relatively simple but I don't really understand how import statements work and it's quite vague topic to search about. I have included some file paths if that helps.
This is where my project resides:
/home/pi/JBerries/relay
and this is where the pi4j library is:
/opt/pi4j
I hope the following image provides some of the information requested, note that the class paths are already set up:
You need to set the CLASSPATH environment variable to /opt/pi4j or the jar file therein. WIthout this the compiler is unable to know where your libary is located and will give you the errors you describe.
If you're using a project in JBerries you need to configure the classpath for the project - the screenshot shows the classpath for single-file compilations only. To edit the project config right-click the root node in the project window and select properties.

Import Issue Java TTest

I am trying to run a TTest in my program and importing the class necessary for importing it isn't working.
This is where I heard of the class
http://commons.apache.org/proper/commons-math/apidocs/index.html?org/apache/commons/math3/stat/inference/TTest.html
I tried:
import java.lang.Object.org.apache.commons.math3.stat.inference.TTest;
and
import org.apache.commons.math3.stat.inference.TTest;
and a few combinations of those that didn't work either.
If you know how to do it please let me know!
Inside I am constructing using
TTest test = new TTest();
so if that is the error just let me know!
import org.apache.commons.math3.stat.inference.TTest; is the correct way to import the TTest class from commons-math.
Since TTest belongs to an external library (commons-math), you have to download it and tell Java where to find it to build and run your program, this is the classpath and it should be defined if you are using a class which does not belong to the default standard Java classes. If you are not aware of classpath and external libraries in Java, you should definitively read and google about the subject.

how to import javax in java?

I need an object of javax.servlet.jsp.JspWriter in my JAVA program. I have to import javax, but I do not know how to do it.
I use ant for compiling my project and no IDE, just commandline.
Should I download a package or something and put it in my project? Or there is another way?
An IDE would ease thing considerable. Ant intergrates with Eclipse and helps to ease management of imports.
For the commandline; download the appropriate jar, add it to the classpath using -Djava.ext.dirs=
I presume that you can take it from here!
To import javax.servlet.jsp.JspWriter you place an import statement at the top of your file, after the package declaration, but before the class declaration. The import statement would look like:
import javax.servlet.jsp.JspWriter;
This tells the compiler to interpret uses of JspWriter as javax.servlet.jsp.JspWriter
For example:
package somepackage;
import javax.servlet.jsp.JspWriter;
public class AClass {
//Class contents here
}
I need an object of javax.servlet.jsp.JspWriter in my JAVA program. I
have to import javax
No you don't, you have to import javax.servlet.jsp.JspWriter. So do that. If it doesn't compile, adjust your classpath or your IDE project settings to include the appropriate JAR file.

Com.Google.Common.*.*... import failure

I'm working on a project and need to use the Predicate interface of google's common.base
I tried importing the google-collect jar at http://code.google.com/p/gdata-java-client/source/browse/#svn/trunk/java/deps
I got the jar, imported it in my library but nothing's there...
Can anyone tell help me to be able to work with this interface?
If you are using eclipse, you need to add the library jar to your build path, as described here.
If you are compiling from the command line, use the -classpath option to add the jar to the path.
Also make sure the case is correct in your import declaration. The import should look like
import com.google.common.base.Predicate;
not
import Com.Google.Common.Base.Predicate;
Also you probably know this already, but the import com.google.common.*.* suggested by your question title is invalid - you can only have one *. (import com.google.common.base.* is OK.)

Categories

Resources