-
lib lib32 lib64等lib文件夹的说明
2018-05-11 16:06:51/lib 最基本的共享库和内核模块。 目的 -> 存放用于启动系统和执行root文件系统的命令的如/bin /sbin的二进制文件的共享库,或者存放32位,或者64位(file命令查看)。 /lib、 /usr/lib、/usr/local/lib ...-
/lib
最基本的共享库和内核模块。存放用于启动系统和执行root文件系统的命令的如/bin /sbin的二进制文件的共享库,或者存放32位,或者64位(file命令查看)。 -
/lib<qual>、 /usr/lib<qual>、/usr/local/lib<qual>
<qual>就是为了隔离32位和64位而设置的不同目录,这种情况下/lib有可能是其符号链接。 -
/usr/lib、/usr/local/lib
程序和安装包的库路径。不依赖特定架构的库应该放到/usr/share中而不是这里。应用程序可以自己创建一个单独的子目录并把自己的库放在其中。 -
总结
一般情况下,系统自己会匹配应用程序与其应该调用的位数的库。
如果是用于/bin /sbin的库,放置到/lib之中。
如果是用于用户程序或安装包的,放置到/usr/lib或/usr/local/lib*之中。
如果某个库只是特别的用了某个专用程序,而这个程序但并不打算直接被用户或者root调用,应放置到/usr/libexec中。
http://unix.stackexchange.com/questions/74646/difference-between-lib-lib32-lib64-libx32-and-libexec
-
-
SpringBoot项目打包分离lib,配置和资源文件部署总结
2020-12-29 10:50:17先前发布springboot项目的时候,每次改动一点东西,就需要将整个项目重新打包部署,并且打包出来的jar包太庞大,每次更新项目的时候,需要上传的文件很大,十分不便,故把依赖lib里面的jar包从项目分离出来,每次...- 前言
先前发布springboot项目的时候,每次改动一点东西,就需要将整个项目重新打包部署,并且打包出来的jar包太庞大,每次更新项目的时候,需要上传的文件很大,十分不便,故把依赖lib里面的jar包从项目分离出来,每次部署只需要发布代码即可。
先前使用的是spring-boot-maven-plugin来打包,这个插件会将项目所有的依赖打入BOOT-INF/lib下,替换为maven-jar-plugin
# 原来使用的打包插件:spring-boot-maven-plugin <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.1.1.RELEASE</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
半自动化部署
1.替换为maven-jar-plugin插件:
- addClasspath:表示需要加入到类构建路径
- classpathPrefix:指定生成的Manifest文件中Class-Path依赖lib前面都加上该前缀路径,构建出lib/xx.jar
- mainClass:表示项目的启动类。
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.1</version> <configuration> <archive> <!-- 生成的jar中不要包含pom.xml和pom.properties这两个文件 --> <addMavenDescriptor>false</addMavenDescriptor> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <!--这里需要修改为你的项目的主启动类--> <mainClass>com.cecjx.business.BusinessApplication</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build>
2.拷贝依赖的jar外面的lib目录
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-lib</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>target/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>runtime</includeScope> </configuration> </execution> </executions> </plugin> </plugins> </build>
3.在和jar包同级的目录下新建一个config目录,放入application.yml文件
这里可能有小伙伴有疑问了,打包的jar里面不是应该有application.yml文件吗,这里为什么再放一份?
这是因为springboot读取配置有一个优先级,放在jar包外面config目录优先级最高,主要是便于从外部修改配置,而不是改jar包中的application.yml文件。优先级如下:
(1)当前目录的config目录下
(2)当前目录
(3)classpath的config目录下
(4)classpath的根目录4 启动项目
加入–debug可以让你可以看到比较详细的启动日志:
java -jar xxx-1.0.0.jar --debug全自动化部署
前面介绍的步骤中,需要手动的拷贝application.yml文件,并且jar包内外都存在配置。这里引入一种自动化配置,将所有东西打成zip文件,直接发布到服务目录,解压后,即可启动。
1.替换为maven-jar-plugin插件:- addClasspath:表示需要加入到类构建路径
- classpathPrefix:指定生成的Manifest文件中Class-Path依赖lib前面都加上该前缀路径,构建出lib/xx.jar
- mainClass:表示项目的启动类。
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.1</version> <configuration> <archive> <!-- 生成的jar中不要包含pom.xml和pom.properties这两个文件 --> <addMavenDescriptor>false</addMavenDescriptor> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <!--这里需要修改为你的项目的主启动类--> <mainClass>com.cecjx.business.BusinessApplication</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build>
2.拷贝依赖的jar外面的lib目录
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-lib</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>target/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>runtime</includeScope> </configuration> </execution> </executions> </plugin> </plugins> </build>
3.排除resources下面的yml(因为我们需要把它放在jar外部,不能让jar打包插件将其打入jar包classpath下去)
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!-- 打包后的包名是否包含assembly的id名 --> <appendAssemblyId>false</appendAssemblyId> <!-- 指定最后tar或者zip包的名字 --> <finalName>djys-business</finalName> <!-- tar或者zip包的输出目录 --> <outputDirectory>target/</outputDirectory> <descriptors> <!-- 引用的assembly配置文件--> <descriptor>src/main/resources/assembly.xml</descriptor> </descriptors> </configuration> <executions> <!-- phase加入package后,则在执行maven package时就可以调用maven-assembly-plugin插件定义的打包方式 --> <execution> <!--名字任意 --> <id>make-assembly</id> <!-- 绑定到package生命周期阶段上 --> <phase>package</phase> <goals> <!-- 只运行一次 --> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
assembly.xml配置,该文件放在resources目录下面即可。
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"> <id>package</id> <formats> <format>zip</format> </formats> <includeBaseDirectory>true</includeBaseDirectory> <fileSets> <!--拷贝application.yml文件到jar包的外部config目录下面--> <fileSet> <directory>${basedir}/src/main/resources</directory> <includes> <include>*.yml</include> </includes> <filtered>true</filtered> <outputDirectory>${file.separator}config</outputDirectory> </fileSet> <!--拷贝lib包到jar包的外部lib下面--> <fileSet> <directory>${project.build.directory}/lib</directory> <outputDirectory>${file.separator}lib</outputDirectory> <!-- 打包需要包含的文件 --> <includes> <include>*.jar</include> </includes> </fileSet> <!--如有需要,可以配置多个需要拷贝的文件即可--> <fileSet> <directory>${project.build.directory}</directory> <outputDirectory>${file.separator}</outputDirectory> <includes> <include>*.jar</include> </includes> </fileSet> </fileSets> </assembly>
4.解压zip,启动
-
cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib
2014-08-15 10:05:18 cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.libcxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib -
labview 添加自定义Lib
2020-06-18 10:02:22自定义Lib 在做程序开发的时候常常都会需要自己编写一些自定义的库,以方便后续其他项目使用。Labview的自定义lib将其放入到指定路径下便可以直接在编辑程序界面调用。 添加自定义库到labview 1.编写lib a.如果已经...自定义Lib
在做程序开发的时候常常都会需要自己编写一些自定义的库,以方便后续其他项目使用。Labview的自定义lib将其放入到指定路径下便可以直接在编辑程序界面调用。
添加自定义库到labview
1.编写lib
a.如果已经编写好程序在项目里,需要将其装换成lib可以进行如下操作。
b.或许直接新建一个lib项目,进行编写如果像要给Lib弄一个icon模板可以通过右键lib选择properties。进行编辑Icon模板,然后应用到是所有VIs。
2.添加到指定路径
将编写好的库文件及其源代码的文件夹放入到labview的usrlib的文件夹下.路径为:
C:\Program Files (x86)\National Instruments\LabVIEW 2016\user.lib
3.添加完后需重启labview
当添加完lib后,重启labview,就可以在后面板的功能选项中找到添加的相应库了。
-
/lib /usr/lib /usr/local/lib区别
2018-09-19 09:52:59/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的. /lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。/lib目录下放置的是/bin和/sbi... -
R的lib没有被指定的解决办法(因为‘lib’没有被指定)as ‘lib’ is unspecified
2019-08-26 13:24:59R语言的RGui和RStudio安装包的时候,因为‘lib’没有被指定的解决办法,另外lib不可写 -
/lib和/usr/lib和/usr/local/lib区别
2019-07-31 22:34:00/lib是内核级别的 /usr/lib是系统级别的 /usr/local/lib是用户级别的 /usr — 包括与系统和用户直接有关的文件和目录,例如应用程序及支持它们的库文件。 例如: 系统自带的可执行程序放置在/usr/bin,而用户下载的... -
net.sf.json使用的lib(包括依赖lib)
2014-09-19 17:35:55net.sf.json使用的lib(包括依赖lib) 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar -
openssl 静态 链接库 libeay32.lib ssleay32.lib
2012-01-12 13:27:50openssl 1.0.0b 的静态链接库 libeay32.lib ssleay32.lib,用他编译无需dll就可以运行。 网上找不到,自己动手弄的,需要的同学你懂的。 编译参数: /MT /Ox /O2 /Ob2 -O -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -... -
VS中解决LIBCMTD.lib和uafxcwd.lib冲突(uafxcw.lib LIBCMT.lib冲突)
2016-11-16 16:33:26如果在编译MFC程序的时候...1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMTD.lib(new.obj) 中定义 1>uafxcwd.lib(afxmem.obj) : error LNK200 -
C++ 如何加载lib
2019-08-21 07:56:431.lib文件的加载 lib其实就是window下的静态库文件 C++加载静态库文件只能静态加载,在编译的时候进行 下面以vs2010为例: 首先右键单击项目,选择属性: 打开配置属性-链接器-常规-附加库目录... -
无法打开文件"LIBC.lib / libcp.lib"解决办法
2016-12-02 22:01:12无法打开文件"LIBC.lib / libcp.lib"解决办法 ,及 VS2013模块对于SAFESEH 映像是不安全的 -
Keil MDK生成LIB库以及使用LIB库
2019-05-09 15:27:52问题引出:为什么要做成lib库? 1、不想将自己写的源代码公开,但是同时库文件又需要让别人能够正常调用,那封装成lib的格式就是一个方法。 2、编译某些工程文件时非常耗时,像ST官方的库时,由于文件众多,编译一... -
Java问题集锦--Missing artifact net.sf.json-lib:json-lib:jar:2.4
2019-04-05 15:44:02Missing artifact net.sf.json-lib:json-lib:jar:2.4 在引入maven依赖的同时,指定依赖的JDK版本信息。 <!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib --> <dependency> ... -
ws2_32.lib.zip
2013-06-08 21:49:11ws2_32.lib.zip 包含ws2_32.dll和ws2_32.lib 所在路径; C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib -
json-lib所需全部jar包
2013-05-24 10:12:04json-lib所需全部jar包,包括commons-beanutils-1.7.0.jar、commons-collections-3.2.jar、commons-lang-2.4.jar、commons-logging-1.1.jar、ezmorph-1.0.4.jar和json-lib-2.2.3-jdk13.jar包 -
/var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间,迁移 /var/lib/docker 目录
2018-07-25 09:34:310 du -hs /var/lib/docker/ 命令查看磁盘使用情况。 linlf@dacent:~$ sudo du -hs /var/lib/docker/ 237G /var/lib/docker/ 1 docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况: ... -
#pragma comment(lib,"User32.lib")作用
2019-04-30 09:38:55表示在文件中加载lib模块 -
什么是Lib
2018-09-26 23:04:29一种是静态库,比如C-Runtime库,这种LIB中有函数的实现代码,一般用在静态连编上,它是将LIB中的代码加入目标模块(EXE或者DLL)文件中,所以链接好了之后,LIB文件就没有用了。 一种LIB是和DLL配合使用的,里面没有... -
安装TA-LIB
2017-05-06 09:56:35pip直接按照ta-lib库的话,会碰到一些问题。以下是解决方法:sudo wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gztar -xzf ta-lib-0.4.0-src.tar.gz or sudo tar -xzf ta-lib-0.4.0-... -
json-lib的jar包
2012-07-11 16:33:00son-lib的jar包和5个参照包。commons-beanutils-1.8.0.jar,commons-collections-3.2.1.jar,commons-lang-2.5.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar,json-lib-2.4-jdk15.jar -
/lib和/usr/lib、/usr/local/lib区别
2014-02-22 13:26:19/lib和/usr/lib、/usr/local/lib区别 简单说,/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的. /lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有... -
json-lib-2.4 jar 程序文件
2013-01-16 10:44:39json jar 包,java 开发Ajax ,封装json格式的jar包工具 -
用 comsupp.lib/comsuppd.lib 还是 comsuppw.lib/comsuppwd.lib
2010-07-11 18:30:00曾经用过 _bstr_t 类,MSDN 提示包含的库为 comsuppw.lib 或 comsuppwd.lib。 最近看到了 comsupp.lib 和 comsuppd.lib,到底该用哪个呢? 从 MSDN 得知: (1) 当指定了/Zc... -
解决‘E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) ’ 问题
2019-05-23 20:23:16无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) 首先查看下 ls /var/lib/dpkg/lock-frontend 然后删除 sudo -r -f /var/lib/dpkg/lock-frontend 如果依然报错 无法获得锁 /var/lib/dpkg/... -
VS中lib和dll 以及生成dll却没有lib
2018-03-28 10:33:06Lib文件先来说一说lib文件,C++中lib文件主要有两类,一种是静态的编译连接,叫做静态链接库,另一种是动态的编译链接,和Dll文件一起使用,在该小标题下,主要说一下静态链接库,另一种将在Dll文件中讲解。... -
strmbase.lib和strmbasd.lib生成
2017-11-30 09:19:25最近编译MicroSIP,里面有用到strmbase.lib,网上找了下,都要积分下载。 没有积分的我只能自己动手。 PC是win7 64位的。+vs2015 下载 Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 ... -
生成lib和使用lib方法详解
2014-04-11 21:13:16由于曾经在调用lib文件配置环境没有成功,特地研究了下lib文件,写一篇文章来简单叙述lib文件的编写使用。 生成lib 首先环境是VS2010,其它环境大同小异,请自己尝试。新建一个Win32项目,如图一,点击下一步... -
MSVCRTD.lib
2017-08-10 09:38:57代码调试过程中,挂在基本库函数中,需要考虑是否缺失MSVCRTD.lib等系统库。 当遇到MSVCRTD.LIB和LIBCMTD.LIB的冲突时,一般是因为代码编译时代码生成选择c/c++的运行库版本不一致; 于是搞明白了MT,MTd,MD,MDd的...