繁体   English   中英

使用jar中的类路径类使用javac和java进行编译和运行

[英]Compile and run with javac and java using classpath classes in jar

我试图通过命令提示符在Java中运行一个简单的代码。 我有一个包含以下内容的jar.java文件:

public class jar{

public void print()
{
System.out.println("Jar success accesing !");
}}

而且我还有一个main.java,它调用使用jar类:

public class main{

public static void main (String args[]){
jar jar1 = new jar();
jar1.print();
}}

我只是尝试编译jar.java,然后将其设为jar存档,然后像下面这样使用jar来编译主类:

>javac jar.java
>jar cvf JAR.jar jar.class
>javac -cp JAR.jar main.java

现在,直到所有这些都可以正常运行,直到我要运行main,它还是无法正常工作:

>java -cp JAR.jar main

我得到这个:

Error: Could not find or load main class main.class
Caused by: java.lang.ClassNotFoundException: main.class

我哪里错了?

答案是:

java  main

您不需要-cp,因为您将所有文件放在同一文件夹中。 您的代码无效,因为您覆盖了-cp (当前目录)的默认值。 您的-cp仅指向JAR.jar。

类似的解决方案:

java -cp 'main.class;JAR.jar' main
java -cp '.;JAR.jar' main

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM