在运行时直接通过filepath导入.jar文件

时间:2014-05-22 12:37:19

标签: java linux import-libraries

出于好奇,这是一个好消息。题。我熟悉在IDE(NetBeans,Eclipse)中设置用户库并通过类似

的方式将它们导入程序
import com.mongodb; 

有没有办法直接导入库的jar文件?像

这样的东西
import C:/lib/mongodb/mongo-java-driver-2.12.2.jar;

或者

import /libs/mongodb/;    // for linux, where /libs/ is a softlink

再一次,这只是一种好奇心。我理解这与大多数惯例不符,但我在考虑将来快速开发原型,我想知道这是否是在开发周期中节省一些时间的可行选择。

2 个答案:

答案 0 :(得分:1)

这个想法是,你只用Java导入包,而不是整个JAR文件。 (实际上您也可以使用import static导入静态类成员,但这是一个不同的主题)

如果您确实需要,可以使用简单的表示法从包中导入所有类:

import com.mongodb.*; // This will import all classes from "com.mongodb" package

然后像这样执行你的应用程序:

java.exe -cp "your-awesome-app.jar;lib/*"

其中lib/*表示来自lib旁边的your-awesome-app.jar文件夹的“导入所有内容”

有关如何使用-cp参数的通配符,请参阅here

答案 1 :(得分:0)

使用奇怪的语法和所有这些都不可能完全相同,但custom classloader可以在运行时加载jar文件。另请参阅this问题。