访问JAR文件中的默认包中的类

时间:2010-09-10 14:22:35

标签: java jar package

我有一个Java应用程序,Java文件位于名为app的包中。我已经在类路径中添加了一个JAR文件。 JAR文件中的所有类都在默认包中。

从我的Java应用程序中,我无法访问此JAR文件的类。只有将我的应用程序文件放在默认包中,我才能看到JAR文件中的类。那是为什么?

2 个答案:

答案 0 :(得分:4)

您不能再使用默认套餐import。 (您曾经能够在Sun的早期javac实现中使用,但在语言规范中不允许这样做。)明显的解决方案:

  • 如果可能,请勿使用默认包。将所有类,接口和枚举移动到命名包中。 [良好]
  • 将打包的类移动到默认包中。 [衰]
  • 通过反射访问课程。 [可怕]

答案 1 :(得分:1)

默认包中的类对包内的类不可见。

当类在不同的包中时,您基本上需要import个类。但是由于默认包中的import类是不可能的,唯一的解决方案是将这些类放在包中。

每当您想重用类时,始终将类放在包中。