放在JRE / lib / ext目录中的java文件是否可用于执行java程序

时间:2016-06-17 07:17:48

标签: java classpath

我已经放置了一个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文件来自动加载它,否则是否有任何方法直接由程序加载类文件?

1 个答案:

答案 0 :(得分:0)

不可能从本地Java文件访问该类而不在java中导入。即使您在JRE / lib / ext目录中复制要在其他类中访问的java文件,也不意味着所需的类不会被添加到默认类路径中。