当一个普通的项目,在不适用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. centos 7 开启端口重启防火墙

    开启端口   firewall-cmd --zone=public --add-port=80/tcp --permanent   命令含义:   --zone #作用域   --add-port=8 ...

  2. 第六百零七八天 how can I 坚持

    昨天去跟着谈了个项目,涨了些见识吧,关注下客户关注的,多考虑些,昨天谈完就下班,陪着sy去了趟西单换电池,苹果的售后也真是挺垃圾的. 今天本来是要搭搭环境的,结果代码没搞来,明天去客户那边搞代码,感觉 ...

  3. NodeJs解析web一例

    var http = require('http'); var fs = require('fs'); var url = require('url'); http.createServer(func ...

  4. Python:python中math模块中提供的基本数学函数

    sin(x):求x的正弦 cos(x):求x的余弦 asin(x):求x的反正弦 acos(x):求x的反余弦 tan(x):求x的正切 atan(x):求x的反正切 hypot(x,y):求直角三角 ...

  5. 日志处理之logging模块

    日志级别: 'CRITICAL': CRITICAL, 'ERROR': ERROR, 'WARN': WARNING, 'WARNING': WARNING, 'INFO': INFO, 'DEBU ...

  6. ios 判断相册文件图片大小的方法

    ALAssetsLibrary* alLibrary = [[ALAssetsLibrary alloc] init]; [alLibrary assetForURL:[info objectForK ...

  7. vc++ 程序开机自启动和取消启动

    //开机启动 int CMainWnd::CreateRun() { //添加以下代码 HKEY hKey; }; //得到程序自身的全路径 DWORD dwRet = GetModuleFileNa ...

  8. 用Java写算法之归并排序

    转自:http://flyingcat2013.blog.51cto.com/7061638/1281026 前面的三种排序算法(冒泡排序,选择排序,插入排序)在平均情况下均为O(n^2)复杂度,在处 ...

  9. WPF功能点

    if ("TextBoxBase".Contains(Keyboard.FocusedElement.GetType().BaseType.Name)) { return; } 1 ...

  10. UNICODE 7.0定义的表情符

    td.graph { font-size:24px; } UNICODE 7.0定义了78个表情符,从0x1F600到0x1F64F(其中0x1F643和0x1F644没有定义).下表中列出了这些表情 ...