是什么以下三个命令之间的差异: - )javac -cp "." com.company.Test.class
命令提示符快捷区别“。”和 “../ ..”
2)javac -cp "../.." com.company.Test.class
3)javac com.company.Test.class
另外
1,是有每个命令对于javac和java的任何区别,我的意思是如果我为javac和java命令使用1个语句,那么是否有任何区别。
是什么以下三个命令之间的差异: - )javac -cp "." com.company.Test.class
命令提示符快捷区别“。”和 “../ ..”
2)javac -cp "../.." com.company.Test.class
3)javac com.company.Test.class
另外
1,是有每个命令对于javac和java的任何区别,我的意思是如果我为javac和java命令使用1个语句,那么是否有任何区别。
编译: -
案例1: - 编译一个程序/ java文件: -
计划: -
package com.bharat;
class Test{
static int x =10;
public static void main(String[] args)
{
System.out.println(x+" "+"Class Test");
}
}
目录: -
C:/ COM/bharat
命令: -
1)C:\com\bharat>javac Test.java
2)C:>\javac -cp “.” com/bharat/Test.java
3)C:>\javac -cp “../..” com/bharat/Test.java
CASE 2: - 两个方案,第二程序使用第一程序的目的: -
程序1: -
package com.bharat;
class Test{
static int x =10;
public static void main(String[] args)
{
System.out.println(x+" "+"Class Test");
}
}
计划2: -
package com.bharat;
class Test2{
public static void main(String[] args)
{
System.out.println(Test.x+" "+"Class Test2");
}
}
指南: - C:/ com/bharat
命令: -
1)C:/com/bharat>javac -cp “.” *.java
2)C:/com/bharat>javac -cp “../..” *.java
3)C:/com/bharat>javac Test.java
4)C:/com/bharat>javac Test2.java
: - 错误: -
找不到符号Test.x因为它搜索在COM /巴拉特/ COM/X巴拉特
5)C:/ COM /巴拉特> javac的 - CP Test2.java“” - 错误: -
找不到符号Test.x因为它搜索在COM /巴拉特/ COM/X巴拉特
6)C:/ COM /巴拉特> javac的 - cp“../ ..”Test2。java的
做工精细因为现在因为“../ ..”它的根目录下搜索X(C :)即C:/ COM /巴拉特
7)C:\>javac -cp "." com/bharat/test2.java
8)C:\>javac -cp "../.." com/bharat/test2.java
运行: -
1)C:\com\bharat>java -cp "." com.bharat.Test - Error
2)C:\com\bharat>java -cp "../.." com.bharat.Test
3)C:\com\bharat>java -cp "." com.bharat.Test2 - Error
4)C:\com\bharat>java -cp "../.." com.bharat.Test2
5)C:\>java com.bharat.Test
6)C:\>java com.bharat.Test2
7)C:\>java -cp "." com.bharat.Test
8)C:\>java -cp "." com.bharat.Test2
9)C:\>java -cp "../.." com.bharat.Test2
10)C:\>java -cp "../.." com.bharat.Test
案例3: - 编译和运行两个程序使用不同的软件包: -
地点: -
计划: -
1)
package comm.Pack1;
public class Test{
public static int x =10;
public static void main(String[] args)
{
System.out.println(x+" "+"Class Test");
}
}
2)
package comm.Pack2;
import comm.Pack1.Test;
class Test2{
public static void main(String[] args)
{
System.out.println(Test.x+" "+"Class Test2");
}
}
1)"."
表示当前文件夹,因此的javac会发现在当前文件夹com.company.Test.class
。
2)".."
表示父文件夹,"../.."
表示当前文件夹的父文件夹的父文件夹。
3)javac无-cp
表示在当前文件夹中找到文件。等于1)。
真是一个惊喜!感谢兄弟,Zabuza。 – autogo
让我们延长答案。 'javac'是一个需要参数的程序。在你的情况下,OP,你首先使用参数'-cp'代表* classpath *。这个'-cp'命令现在也需要一个参数,一个类路径应该设置到的路径。在你的情况下,这正是''。“'的东西。 '-cp'完成后,'javac'的下一个参数出现,这就是你想要编译的*源文件*。官方文档可以在这里找到:http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html – Zabuza
还要注意'java'程序的语法与' javac'。其文档位于:http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html。请注意,这个''''''和'“../ ..”'东西不是来自** Java **语言的东西。这是来自你的**操作系统**(或者更确切地说,你使用的shell,例如Windows ** cmd **)。 – Zabuza
你是什么意思你的第二个问题?你可以重新解释它还是更多地解释它?这听起来像是你要求'javac.exe'和'java.exe'之间的区别。第一个编译java代码并从中产生字节代码,'.class'文件。第二个执行字节码。 – Zabuza
我的意思是说,如果我使用“。”,是否有任何区别。命令与javac和java Javac“。” test.java Java“。” com.company.Test –
我很抱歉,但我仍然不明白。然而,在你已经收到了很好的答案之后,还有什么还没有答案?如果是这样,请编辑您的问题(而不是发表评论)。 – Zabuza