Java 有没有一种方法可以在IntelliJ中使用外部库而不下载它们的.jar?

Java 有没有一种方法可以在IntelliJ中使用外部库而不下载它们的.jar?,java,intellij-idea,Java,Intellij Idea,我正在尝试使用IntelliJ编写一个独立的Java应用程序。因此,我导入了模块: import edu.stanford.nlp.trees.GrammaticalStructure; 目前,Intellij无法识别此外部库和许多其他导入的外部库(无法解析符号),也无法自动下载/导入它们 有没有一种方法可以使用语法结构类而不必下载整个StanfordCorenlp.jar并将其作为库添加到项目中?这个问题也适用于其他依赖项,因为我希望使用其他外部库,但尽量避免包含它们的.jar文件(以最小化

我正在尝试使用IntelliJ编写一个独立的Java应用程序。因此,我导入了模块:

import edu.stanford.nlp.trees.GrammaticalStructure;
目前,Intellij无法识别此外部库和许多其他导入的外部库(无法解析符号),也无法自动下载/导入它们

有没有一种方法可以使用语法结构类而不必下载整个StanfordCorenlp.jar并将其作为库添加到项目中?这个问题也适用于其他依赖项,因为我希望使用其他外部库,但尽量避免包含它们的.jar文件(以最小化最终应用程序的大小,因为它是独立的)。不幸的是,我发现的所有解决方案都提出了这一点

抱歉,如果我忽略了一些基本的设置或设置步骤,我已经有一段时间没有使用Java了


非常感谢您的帮助。

如果您想使用它,就意味着您想在其中执行代码。运行时应该如何执行没有的代码?编译器应该如何知道代码是如何定义的(例如类是什么样子的)?这根本不可能。如果要使用代码,必须将其提供给编译器和运行时


如果您不想将所有这些代码都包含到应用程序中,您需要访问源代码并选择所需的类,或者需要@CrazyCoder建议的某种JAR最小化工具。

为了使用它们,您必须拥有它们。如果您的目标是优化分发规模,您可以将ProGuard或Maven Shade插件与minimizeJar选项一起使用,请参阅。他不想使用JAR。另一种选择是获取这些库的源代码,并手动将它们包含到项目中,删除他不需要的源文件。或者通过模糊器/插件从最终的JAR中去除未使用的类。那么,如果他不想使用它,导入的意义是什么?看起来他只需要一些类(比如说构建和运行代码所需的最小依赖项),不是整个jar,其中可能包含他的代码不会使用的类。但这仍然意味着他需要这些代码。他说:“我想使用其他外部库,但尽量避免包含它们的.jar文件(以最小化最终应用程序的大小,因为它将是独立的)。”。这意味着他可以使用依赖项提供的代码,但不能使用JAR中可能包含的、应用程序不需要的额外代码。关键词似乎是“尽可能多”。