我想将 Apache commons.io 用于 Eclipse 中的插件项目。我将 .jar 添加到构建路径:
(属性-> java 构建路径-> 库)
但是当我尝试测试我的项目时,我收到了这个错误:
org/apache/commons/io/FileUtils 的 NoClassDefFoundError。
我认为 Eclipse 不会复制该库,或者我想告诉项目复制该库。
我怎么解决这个问题?我正在尝试编写一个导出插件,其中一个完整的文件夹被复制到另一个文件夹。
我想将 Apache commons.io 用于 Eclipse 中的插件项目。我将 .jar 添加到构建路径:
(属性-> java 构建路径-> 库)
但是当我尝试测试我的项目时,我收到了这个错误:
org/apache/commons/io/FileUtils 的 NoClassDefFoundError。
我认为 Eclipse 不会复制该库,或者我想告诉项目复制该库。
我怎么解决这个问题?我正在尝试编写一个导出插件,其中一个完整的文件夹被复制到另一个文件夹。
首先看看是否已经有提供这个库的 eclipse 插件。对于 apache commons,您会找到一个。使用插件编辑器并为所需的库添加依赖项,如果它们像 apache commons 一样常见;)
其他明智的添加目录将其称为“libs”并在那里添加你的罐子。然后将它们放在插件编辑器的类路径中。为此,请使用“运行时”选项卡并使用“类路径”部分中的添加按钮。
这将最终出现在这样的 build.properties 中
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
lib/commons-csv.jar,\
lib/commons-lang-2.6.jar,\
lib/commons-io-2.0.1.jar
以这种方式添加的库将被导出到您的插件中,并且它们将保留在您的类路径中。
您项目的类路径将自动更新。
对于像 DB-Driver 这样的重要库的最佳实践,将它们放在一个额外的插件项目中,这不会扩展 UI。像这样的插件只有一个 build.properties。然后你可以使用这个库插件作为其他插件的依赖。
您听说过目标定义吗?
这正是您所需要的,并且您仍然可以将它与 Maven (Tycho) 一起使用...在开发插件时,您应该始终尝试管理 deps。通过目标定义,并且永远不要在你的类路径中添加 jars