在没有IDE的情况下找不到方法(到目前为止,没有一个)。
我有几个导入到代码中的库,下面是一些示例。
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
我具有以下文件结构:
我尝试在清单中包含所有.jar文件
Main-Class: tdms.rackserials
Class-Path: lib.commons-collections4-4.2.jar lib.commons-compress-1.18.jar lib.json-20180813.jar lib.json-simple-1.1.1.jar lib.poi-4.0.0.jar lib.poi-ooxml-4.0.0.jar lib.poi-ooxml-schemas-4.0.0.jar lib.xmlbeans-3.0.1.jar
但是,如果我将JAR移至另一台计算机(未安装必需的库),则会出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/WorkbookFactory
我在另一个线程中找到了此注释。.那么,如何包括那些其他JAR文件(导入的库)以使我的程序包可移植?
注意:Class-Path标头指向该目录中的类或JAR文件 本地网络,而不是JAR文件中的JAR文件或可访问的类 通过Internet协议。在JAR内的JAR文件中加载类 文件放入类路径,您必须编写自定义代码以加载那些 类。例如,如果MyJar.jar包含另一个名为 MyUtils.jar,您不能使用MyJar.jar的Class-Path标头 清单以将MyUtils.jar中的类加载到类路径中。