Java 隐藏“无法解决”错误

Java 隐藏“无法解决”错误,java,eclipse,libraries,Java,Eclipse,Libraries,我目前正在编写一个在运行时使用可选库的程序。在测试运行期间删除和添加此库只会很好地编译、运行,不会出现错误,因为除非库存在,否则不会调用关联的类 然而,当所述库被删除时,Eclipse当然会在这些类上抛出一系列无法解决的错误,即使它们永远不会被加载 有没有什么方法可以抑制这些特定类上的错误,因为我知道它们实际上是误报,或者有没有更优雅的方法来解决这个问题?假设我们不使用任何特殊的框架: 假设你有一个程序,你使用了一个库。现在,在某个类中,您的代码看起来像这样: LibraryClass c;

我目前正在编写一个在运行时使用可选库的程序。在测试运行期间删除和添加此库只会很好地编译、运行,不会出现错误,因为除非库存在,否则不会调用关联的类

然而,当所述库被删除时,Eclipse当然会在这些类上抛出一系列无法解决的错误,即使它们永远不会被加载


有没有什么方法可以抑制这些特定类上的错误,因为我知道它们实际上是误报,或者有没有更优雅的方法来解决这个问题?

假设我们不使用任何特殊的框架:

假设你有一个程序,你使用了一个库。现在,在某个类中,您的代码看起来像这样:

LibraryClass c;
在你得到的方法中:

c.runSomeMethod();
你运行代码

然后删除行c.runSomeMethod

你会认为LibraryClass不再被使用,你也不再需要这个库了

但实际上,您的编译器是贯穿这一行的

LibraryClass c;
并尝试将c解析为类型LibraryClass,以便正确分配c


为此,你需要图书馆。在本示例中,将库排除在项目之外会导致c无法解析为LibraryClass

使用源代码编译并打包项目them@Lino请澄清?这在测试期间仍然会抛出错误,不是吗?如果您有依赖于某个库的源代码,则该库必须在构建时存在。你还期待什么?@Lino使用gradle,实际上,虽然我似乎记得它有类似的功能。。。打得好。@WeckarE。您在问题中谈到了Eclipse和一系列编译时错误。这是不可忽视的。在您的评论中,您现在谈到了运行时。这是两个截然不同的时代。你的陈述是错误的!好的,明白了。但是,那么,为什么它仍然有效?你的意思是为什么程序仍然运行?编译很好,一旦你忽略了错误,然后运行。哦,是的。这是因为您没有实际设置和使用变量,至少在上面的示例中,编译器只是警告您,上面的情况就是这样,可能会但不一定会引起麻烦。我认为您可以在您的行上方添加@SuppressWarnings,这会导致这些警告