我在IntelliJ Idea 2018中创建了一个简单的Java项目,我正在尝试将stdlib
添加到我的项目中。
花了几个小时在网上调查之后,我试着通过以下方式这样做:
libs
文件夹中创建一个src
文件夹,复制并粘贴stdlib.jar
并右键单击它并选择Add as a Library
;Project Structure -> Modules -> Dependencies -> + JARs or directories
并选择stdlib.jar我发现有人抱怨这样做但IntelliJ并没有暗示使用StdOut
所需的导入。但是,当我添加stdlib.jar
文件并打包它时,IntelliJ立即建议我应该使用的导入,并且没有任何错误。
不过,当我尝试运行该项目时,它会不变地进入NoClassDefFoundError
。
我花了几个小时调查这个,尝试不同的方法来添加库并导入它,但结果总是一样的。
我附上了一个打印屏幕,显示了我当前的项目结构,导入和使用stdlib.jar
。
真的希望你们能帮助我。谢谢!
链接下载stdlib-package.jar
- https://introcs.cs.princeton.edu/java/stdlib/stdlib-package.jar
MANIFEST.MF
Manifest-Version: 1.0
Main-Class: com.edgelab.hospital.Application
HOSPITAL_SIMULATOR_JAR.xml
<component name="ArtifactManager">
<artifact type="jar" name="hospital-simulator:jar">
<output-path>$PROJECT_DIR$</output-path>
<root id="archive" name="hospital-simulator.jar">
<element id="module-output" name="HospitalSimulator" />
</root>
</artifact>
</component>
STDLIB-package.xml中
<component name="libraryTable">
<library name="stdlib-package">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../stdlib-package.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/../stdlib-package.jar!/" />
</SOURCES>
</library>
</component>
所以,我终于解决了它。这是错的:什么都没有。
在搜索网络后,我发现(由于某种原因我无法发布链接)一个答案,建议复制我的代码,删除项目并创建一个新的。所以,我删除了我的项目,创建了一个具有相同代码的新项目,创建了相同的工件,将stdlib-package.jar
添加为库并重建了hospital-simulator.jar
并立即工作。
我无法解释为什么这有效,因为我不知道。我确实按照相同的顺序做了同样的事情。希望这有助于某人,并感谢所有试图提供帮助的人。