我已经放置了一个java文件,并使用JRE / lib / ext目录中的main方法对其进行编译。我想从本地Java文件访问该文件,甚至提到在java中导入它。
WebView
Flow of class loading for a simple program
从上面的回答中,我认为这是可能的。我尝试使用详细选项进行编译,并了解它只接受JAR文件。
C:\Program Files\Java\jre1.8.0_60\lib\ext>cat TestClass.java
class TestClass
{
public void displayMessage()
{
System.out.println("Hello World of Trials");
}
}
C:\Program Files\Java\jre1.8.0_60\lib\ext>javac TestClass.java
C:\Program Files\Java\jre1.8.0_60\lib\ext>ls -lrt TestClass.*
-rwxrwxr--+ 1 Madhuri None 103 Jun 17 12:23 TestClass.java
-rwxrwx---+ 1 Administrators None 418 Jun 17 12:25 TestClass.class
C:\Program Files\Java\jre1.8.0_60\lib\ext>
C:\Users\Madhuri\Documents>cat TestArt.java
class TestArt
{
public static void main(String args[])
{
TestClass tc = new TestClass();
tc.displayMessage();
}
}
C:\Users\Madhuri\Documents>javac TestArt.java
TestArt.java:5: error: cannot find symbol
TestClass tc = new TestClass();
^
symbol: class TestClass
location: class TestArt
TestArt.java:5: error: cannot find symbol
TestClass tc = new TestClass();
^
symbol: class TestClass
location: class TestArt
2 errors
C:\Users\Madhuri\Documents>
我是否需要在ext目录中创建一个JAR文件来自动加载它,否则是否有任何方法直接由程序加载类文件?
答案 0 :(得分:0)
不可能从本地Java文件访问该类而不在java中导入。即使您在JRE / lib / ext目录中复制要在其他类中访问的java文件,也不意味着所需的类不会被添加到默认类路径中。