2017-04-03 65 views
0

当我创建一个使用MySQL-Connector等第三方依赖关系的新Java项目并将其导出到另一个Java项目中使用的jar文件时,我该如何避免必须再次将MySQL-Connector库添加到新项目构建路径中?Java - 将参考库打包成jar文件并重新使用

我想实现的是包下来的jar文件引用的库,所以当我把它添加到一个新的项目及其依赖的jar“容器”内已经遇到了和我能避免

异常在线程 “主” 抛出java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

>>例< <

在使用我的SQL数据库时,我首先需要MySQL连接器库,这当然有准备语句方法,更新查询等等。但它没有(据我所知)例如一个方法多个查询更新或未知数量的更新?,?,?参数等。因此,对于我自己的部分,我创建了一个SQL管理器项目,其中包含一个包含我需要的所有SQL方法的类。

然后,我将MySQL连接器 - >导入到manager项目中,我想将整个项目导出为自包含的jar文件,因此当我将管理器jar导入需要数据库的项目时,我不会不需要导入管理器jar和连接器,而只需要包含连接器的管理器。

+0

您是否使用任何构建系统,如Maven或Gradle? – dunni

+0

我不知道,到目前为止我只是通过Eclipse导出项目。 –

回答

0

这里是在技术上做(在Eclipse中,当你标记的话):

  1. 打开project`s属性,点击“Java构建路径”。

  2. 切换到名为“订购和导出”的选项卡。

  3. 请务必勾选您想在罐子中放置的所有罐子的复选框。

但还有一件事要做:你应该仔细检查你想包括在这个罐子的许可证,因为你可能不会这样做。

+0

感谢您的回复和许可建议! 我试图按照你的步骤,创建一个新的file.jar,它也包含外部库管理器(jar文件)。 用于创建jar(eclipse) 右键单击项目 - >导出 - > java - > jar文件 - >展开项目树 在这里我没有看到用外部jar(引用库)创建jar的选项,我只有看到这个选项,如果我创建一个可运行的jar,这不是我想要的。 这是因为我试图做的是“不好的做法”,或者是他们更加正确的方式来添加依赖到您的项目? –

+0

你想如何使用你的jar?如果你只想从同一个工作区的其他项目中使用它,则不需要导出该jar。只需打开项目设置(右键单击Project或Package Explorer中proejct的主节点上的属性)并按照上述步骤操作。在其他项目中,将导出项目作为构建路径下的依赖项添加。对不起,现在必须回家。如果不行,我明天可以帮忙。 – Axel

+0

我不知道如何解释这500个字符,没有工具,所以我会尝试和重做这个话题,所以它变得更加清楚我想要什么。 –