如何导出不含单元测试的Eclipse插件?
解决方案
方法1:在构建路径中排除测试包并分离编译输出
- 右键项目 → 「属性」→ 「Java Build Path」→ 「Source」标签页
- 选中当前的主源码文件夹,点击「Edit...」
- 在编辑窗口的「Excluded」区域点击「Add...」,输入测试包的匹配规则(例如
com/yourproject/tests/**,或用通配符**/test*/**匹配所有以test开头的包),将测试代码排除在主编译流程外 - 点击「Add Folder...」,重新添加同一个源码文件夹,这次在「Included」区域指定测试包的路径,同时在「Output folder」处设置单独的输出目录(比如
bin-tests),让测试代码编译到独立目录,不会混入主输出的bin目录
方法2:在导出向导中直接过滤测试内容
- 打开「导出... -> 可部署插件和片段」向导,选中你的插件后点击「Details...」
- 切换到「Runtime」标签页,确认「Classpath」列表里只包含主编译输出目录(通常是
bin),移除任何测试相关的输出目录 - 切换到「Build」标签页,在「Filtered resources」中添加测试包的路径规则(比如
**/com/yourproject/tests/**),导出时会自动跳过这些内容
方法3:重构为标准测试源码目录(推荐)
- 在项目根目录新建
src/test/java文件夹,右键该文件夹 → 「Build Path」→ 「Use as Source Folder」,并在属性中标记为「Test Source Folder」 - 将原来的测试包移动到这个新的测试源码文件夹中
- Eclipse PDE在导出可部署插件时,默认会忽略测试源码文件夹的编译和打包,彻底避免测试代码混入生产插件包
额外注意
如果项目依赖JUnit库,确保只在测试源码的构建路径中添加JUnit依赖,主源码路径不要包含JUnit,这样也能避免主编译时出现JUnit相关的编译错误。
内容的提问来源于stack exchange,提问作者terranche
相关产品推荐
相关产品推荐

