Putting servlet jar in CLASSPATH in windows 8.1 - java

I'm trying this on cmd:
javac -classpath .;C:\Users\Myname\Documents\Tomcat_Apache\apache-tomcat-8.0.20\lib\servlet-api.jar ;C:\Users\Myname\Documents\Tomcat_Apache\apache-tomcat-8.0.20\webapps\mybay\WEB-INF\lib\jsp-api.jar
I'm getting this :
javac: invalid flag:
C:\Users\Myname\Documents\Tomcat_Apache\apache-tomcat-8.0.20\webapps\mybay\WEB-INF\lib\jsp-api.jar
Usage: javac 'options' 'source files'
I need this in order to use extends HttpServlet in java.
Can you help?

Related

Passing JAR files as CMD arguments that are required as dependencies

I have a program running in Intellij Idea. It has the following dependencies added as a jar file
I want to run it using the command line and want it to detect the jar files automatically as dependencies. Is there any way to achieve that without using Gradle or Maven? Or I could pass the dependencies as command-line arguments?
I have tried this command but it throws an error:
javac -classpath lib/*.jar -sourcepath src/*
Error:
error: invalid flag: lib/okhttp-3.4.1.jar
Using java -cp says this:
java -cp lib/* -sourcepath src/*
error
Error: Could not find or load main class lib.okhttp-3.4.1.jar
Caused by: java.lang.ClassNotFoundException: lib.okhttp-3.4.1.jar
Used the suggested command and it says:
java -cp lib/gson-2.10.jar:lib/okhttp-3.4.1.jar:lib/okio-3.2.0.jar:lib/slf4j-api-2.0.6.jar src/Main.java

Compiling Java from Command Line

I'm following this tutorial on how to build an Android Plugin for Unity
I'm currently at the part where the author tells me to do the following in command line:
1.> javac CompassActivity.java -classpath C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar
-bootclasspath C:\android-sdk-windows\platforms\android-8\android.jar -d .
2.> javap -s com.yourcompany.yourgamename.CompassActivity
3.> jar cvfM ../Compass.jar com/
However when I type the following line:
javac CompassActivity.java -classpath C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar
I get the following message:
javac: invalid flags: (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar
usage: javac <options> <source files>
use -help for a list of possible options
So I've tried retyping the line putting my path of the file in angled brackets, placing a dot in between classpath and the start of my file location, but I keep getting the same issue.
Am I using classpath wrong?
If so, what is the correct way I should be doing it?
I should add that the console does point to the correct folder location. That was the first thing I've checked.
There are spaces in the path to classes.jar, you must enclose it using ", or shell will consider it as three distinct parameters (C:\Program, Files and (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar"):
javac CompassActivity.java -classpath "C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar"
You must try the command like:
usage: javac <options> <source files>
javac -classpath "C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar" CompassActivity.java
First Check your System is 32-bit or 64-bit
check it out full steps for Config and run:http://introcs.cs.princeton.edu/java/15inout/windows-cmd.html
USe
javac -cp filepath
or you also try to set the classpath first by command
set classpath="filepath"
Then u can try with a command
java filepath

Java - NoClassDefFoundError on running

Today I tried to compile my sources through the command prompt:
PS ...\JavaDev\Prog> javac -classpath <libs> -d . -sourcepath src src/com/negi/prog/Prog.java
They compiled successfully.
But when I try to run it, it produces an error:
PS ...\JavaDev\Prog> java -classpath com.negi.prog.Prog
Exception in thread "main" java.lang.NoClassDefFoundError: com/negi/prog/Prog
Caused by: java.lang.ClassNotFoundException: com.negi.prog.Prog
How can I fix that?
The classes in your -classpath have to be separated by :
PS ...\JavaDev\Prog> java -classpath "<libs>:com.negi.prog.Prog"
To complete the answer, the different operating systems have different classpath separators. You can check the separator by retrieving the value of the java.class.path property.
By default . (current path) is included in class path, but if you specify -classpath or -cp, then that is overridden. Include . in your classpath:
java -classpath <libs>:. com.negi.prog.Prog
You need to ensure the current directory is on the classpath when running i.e.
PS ...\JavaDev\Prog> java -classpath <libs>:. com.negi.prog.Prog

"error:cannot acces com.hello.LibC","Class file for com.hello.LibC not Found"

I am new to Android.I use this link to run the NDK Project.
I follow all these steps from the given link.However during compilation in the command prompt it shows error like:
$ javah com.hello.LibC
error: cannot access com.hello.LibC
class file for com.hello.LibC not found
javadoc: error - Class com.hello.LibC not found.
Error: No classes were specified on the command line. Try -help.
please help me.
Thanks in Advance.
you need to specify the classpath using -classpath PATH option when running javah inside bin directory of your project:
$ javah -classpath classes/ com.hello.LibC
also you can specify the output directory using option -d PATH
$ javah -d ../jni -classpath classes/ com.hello.LibC

javac no source files found

I have the .java file on the current working directory but javac reports:
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
I'm working on ubuntu.
From your comment above, it looks like you tried:
javac -cp .;lib.jar a.java on your Ubuntu system. The CLASSPATH separator is : on Unix systems and ; on Windows.
Ubuntu considered the command up to the ;, java -cp . and thus gave the message.
javac -cp .:lib.jar a.java should compile fine.
For anyone who is using powersehll on windows use CLASSPATH separator : instead of ;
I tried a similar thing and found that you need to mention the absolute path when you are using the
-cp and -d option with javac like this
javac -cp 'ur location of jars & files'; -d 'location to add your classes to' 'absolute path of file'
eg:
javac -cp C:\home\lib\mywork; -d c:\home\classes c:\home\files*.java
for javac, there are options and arguments
arg: it takes argument as path of source file
options: we require for basic compilation
-sourcepath: the path of dependent source files
-d: directory path of output classes
javac -sourcepath './src' -d './bin' -verbose './src/App.java'

Categories

Resources