当一个普通的项目,在不适用maven 等jar包管理工具的时候,通常我都会直接把jar 包复制lib下,并且在build path 中直接添加额外jar包,或者使用user_libraries包所用的jar包

都放到一个文件夹里,然后让项目依赖该user_libraries 包。如果我又新建了一个项目,但是只有部分jar 包不一样或者版本不一样,通常我会再次新建一个文件夹把这些jar 放进去,

如果jar包出现问题我要一个个去翻看lib下的文件,看着很不方便,也不方便管理。

有没有像maven 那样一个xml 文件把所有的jar 包都列出来,一目了然的原生方式呢。。

查看eclipse 对于user_libraries的管理

使用export 导出其中一个user_libraries 文件,后缀名是 .userlibraries

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<eclipse-userlibraries version="2">
<library name="jbpm-lib" systemlibrary="false">
<archive path="E:/ruanjian/jbpm-jar/activation.jar"/>
<archive path="E:/ruanjian/jbpm-jar/antlr.jar"/>
<archive path="E:/ruanjian/jbpm-jar/antlr-runtime.jar"/>
<archive path="E:/ruanjian/jbpm-jar/avalon-framework.jar"/>
<archive path="E:/ruanjian/jbpm-jar/bsh.jar"/>
<archive path="E:/ruanjian/jbpm-jar/cglib.jar"/>
<archive path="E:/ruanjian/jbpm-jar/commons-collections.jar"/>
<archive path="E:/ruanjian/jbpm-jar/commons-logging.jar"/>
<archive path="E:/ruanjian/jbpm-jar/core.jar"/>
<archive path="E:/ruanjian/jbpm-jar/dom4j.jar"/>
<archive path="E:/ruanjian/jbpm-jar/drools-api.jar"/>
<archive path="E:/ruanjian/jbpm-jar/drools-compiler.jar"/>
<archive path="E:/ruanjian/jbpm-jar/drools-core.jar"/>
<archive path="E:/ruanjian/jbpm-jar/errai-bus.jar"/>
<archive path="E:/ruanjian/jbpm-jar/errai-common.jar"/>
<archive path="E:/ruanjian/jbpm-jar/freemarker.jar"/>
<archive path="E:/ruanjian/jbpm-jar/gson.jar"/>
<archive path="E:/ruanjian/jbpm-jar/guice.jar"/>
<archive path="E:/ruanjian/jbpm-jar/guice-aopalliance.jar"/>
<archive path="E:/ruanjian/jbpm-jar/guice-servlet.jar"/>
<archive path="E:/ruanjian/jbpm-jar/gwt-console-rpc.jar"/>
<archive path="E:/ruanjian/jbpm-jar/gwt-console-server-integration.jar"/>
<archive path="E:/ruanjian/jbpm-jar/hibernate-core.jar"/>
<archive path="E:/ruanjian/jbpm-jar/hsqldb.jar"/>
</library>
</eclipse-userlibraries>

观察发现就是archive 节点 path 属性指定jar 路径

那么我们是否可以把一些常用的jar 放到一个文件夹中(不用每次项目都去找jar,下载jar,比如strtus需要的jar包汇总,ssh 需要的jar包汇总),然后编写一个上面这样的文件

以后我们新建一个项目直接导入这个文件就可以完成一个项目所有jar包的导入。。。

答案是可以的: 刚才我们使用了export ,在他上面有一个import 即为导入,导入我们写好的 .userlibraries 文件。然后项目添加user_libraries 即可完成jar包的引入。

项目jar包管理,使用 .userlibraries 文件增加jar包的可移植性,明确jar包依赖,多项目共用jar包里的更多相关文章

  1. ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用

    在 ASP.NET Core 中添加静态文件 虽然ASP.NET主要大都做着后端的事情,但前端的一些静态文件也是很重要的.在ASP.NET Core中要启用静态文件,需要Microsoft.AspNe ...

  2. NET Core 静态文件及JS包管理器(npm, Bower)的使用

    NET Core 静态文件及JS包管理器(npm, Bower)的使用 文章目录 在 ASP.NET Core 中添加静态文件 使用npm管理JavaScript包 使用Bower管理JavaScri ...

  3. Golang 包管理机制

    Golang 包管理机制 1. 历史 在go1.11之前, 并没有官方的包管理机制(Godep算个半官方), 主流的包管理机制有: GoVendor Glide Godep 在go1.11之后, 官方 ...

  4. Node包管理工具

    Node包管理工具 只是简单的介绍一些工具的使用,有利于开发过程.除了介绍Node包管理工具,还介绍了前端打包工具,前端模块管理工具 Node包管理工具:    --npm    --cnpm    ...

  5. godep 包管理工具

    godep是解决包依赖的管理工具 安装 go get github.com/tools/godep 成功安装后,在GOPATH的bin目录下会有一个godep可执行的二进制文件,后面执行的命令都是用这 ...

  6. 华为云提供针对Nuget包管理器的缓存加速服务

    在Visual Studio 2013.2015.2017中,使用的是Nuget包管理器对第三方组件进行管理升级的.而且 Nuget 是我们使用.NET Core的一项基础设施,.NET的软件包管理器 ...

  7. C# NuGet包管理命令

    NuGet Package Manager Console 内置于 Visual Studio 在 Windows 2012 和更高版本. (不包含在 Visual Studio 用于 Mac 或 V ...

  8. 用Maven快速生成带有依赖的可执行jar包

    一.背景 最近项目在做微服务的拆分,那么我们想让我们的容器启动更加的轻量级,所以我们选择放弃tomcat等容器,而是通过maven生成带有指定依赖的可执行jar包的方式进行处理,本文我将分享如何通过m ...

  9. 前端工程化系列[01]-Bower包管理工具的使用

    本文主要介绍前端开发中常用的包管理工具Bower,具体包括Bower的基本情况.安装.使用和常见命令等内容,最后还介绍了依赖树管理的常见方式以及Bower采用的策略并进行了比较. 1.1 关于Bowe ...

随机推荐

  1. javascript获取当前时间

    function getCurrentDate(){ var myDate = new Date(); var month = myDate.getMonth()+1; var day = myDat ...

  2. Git 操作本地分支与远程分支

    1 查看本地分支 git branch 2 查看远程分支 git branch -a 3 新建远程分支 git checkout -b developr git push origin develop ...

  3. Hibernate一对一外键双向关联(Annotation配置)

    如上图所示:一个学生有一个学生证号,一个学生证号对应一名学生.在Hibernate中怎么用Annotation来实现呢? 学生类,主键是id:学生证的主键也是Id: Student.java pack ...

  4. IO调度算法

    简介: 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 每个块设备都有它自己的队列. I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O调度程序将无序的I/ ...

  5. RequireJS基础(二)

    上一篇是把整个jQuery库作为一个模块.这篇来写一个自己的模块:选择器. 为演示方便这里仅实现常用的三种选择器id,className,attribute. RequireJS使用define来定义 ...

  6. Java入门记(一):折腾HelloWorld

    HelloWorld,学习每门语言的第一步.有人戏称,这些年的编程生涯就是学习各种语言的HelloWorld,不知是自谦还是自嘲.目前所在的公司使用Java作为主要开发语言,我进行语言转换也大半年了, ...

  7. 关于c#调用c编译器

    这个已经过了好久了具体的实现代码没得,但是大致思路自己整理了一下: 首先要调用c编译器,process.start(): 之后需要自己来进行编译器对代码执行的命令.

  8. Netty

    首先值得注意的是netty的jar包版本问题,版本不同,运用的方式也不同.我这里用4.0版本. 对于小白来说,netty到底是什么,我就没必要在这里阐明了,因为百度上比我描述的更全面. 这里就直接开门 ...

  9. 大毕设-MATLAB-FFT实现

    引用来自:http://blog.csdn.net/sinwel/article/details/8115673 %仿真参数中的含义 % Ts 表示间隔Ts时间采样,这个越小越接近连续信号,而实际上不 ...

  10. select标签非空验证,第一个option value=""即可

    select标签非空验证,第一个option value=""即可,否则不能验证