添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
有爱心的花卷  ·  Spring Boot ...·  1 年前    · 
高大的电影票  ·  ftp客户端登录_J S ...·  1 年前    · 
  1. 新建了一个lib包在项目根目录下,与src同级。(也可不同级,具体看自己喜好)

  2. pom文件中依赖这样写:

<dependency>
    <groupId>com.abc.api</groupId>
    <artifactId>abc</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/abc.jar</systemPath>
</dependency>
<dependency>
    <groupId>com.abc2.api</groupId>
    <artifactId>abc2</artifactId>
    <version>2.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/abc-2.0.jar</systemPath>
</dependency>   

${project.basedir}是自带变量,指的是当前项目的根目录。

通过这种方式引入依赖后,在编码的时候没有问题,但是用mvn clean package打成jar包后运行就是报错,找不到这些jar包中的相关类。
把jar包解压后在BOOT-INF/lib里面也确实没有发现用上述方式引入的jar包,看来是没有把lib目录里面的jar打进去。
修改pom文件,在build标签下增加如下配置:

lib BOOT-INF/lib/ **/*.jar src/main/resources BOOT-INF/classes/

目的就是把src/lib下的jar打到BOOT-INF/lib下,但是必须要增加第二个resource,不然src/main/resources下的配置文件又打不进jar包了。

如果要打成war包,则pom文件需要这样改:

<!--设置maven-war-plugins插件,否则外部依赖无法打进war包 -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <webResources>
            <resource>
                <directory>lib</directory>
                <targetPath>WEB-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope><!-- 打成
加入依赖jar - 1.Druid、Mysql、SpringBoot-Mybatis起步依赖、PageHelper分页插件等
配置数据库源+数据库连接池 - 启动类需要读取数据源的xml配置
加入Entity-Mapper-Mappers资源文件 - 启动类扫描mapper所在
常见问题解决
1.扫描不到mappers资源配置文件
加入别名mybatis.type-aliases-package与mybatis.mapper-locations资
                                    我们现在是需要把项目war了,那么打的时候就不需要内嵌web容器了,需要排除掉。这里需要选择我们的tomcat Server启动。在build下设置项目最终打项目名称,如果不设置也是可以的, 默认显示的就是是项目name加上版本号。引入外部jar成功,在自己的项目中如果使用了外部jar的方法修改了项目代码,需要重新进行打部署。OK,项目中的接口可以正常访问, 引入外部jar包之后,项目并部署依然是成功的。个外部jar包, 我这里使用的是guava-31.1-jre.jar作为演示。
                                    maven怎么打war
一个童鞋问我maven怎么打war,一听有点懵,懵的不是maven到底该怎么打war,我不会?而是觉得mavenwar需要配置吗,也许只有最简单的才是最适合的。maven配置文件pom.xml的基本结构:
<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http...
                                    对于一些内部项目jar,有时候不会放到maven库上去,那么idea中maven项目引入的第三方jar包,如何打入到要发布的里面呢?两步,
1、pom中对关联项的依赖
注意 scope 设置为 system,systemPath 可设置第三方jar本地路径。
2、打插件的配置
原springboot插件加了一个Configuration,
在开发过程中,我们遇到一些Maven仓库没有的jar包(比如公司自己开发的一些jar包),这时就不能通过pom直接引入。下面演示如何在项目中引入这些本地或第三方jar包解决方案
在与src同级的目录下新建一个lib目录,然后将本地jar包放在lib目录下:
(1)首先在依赖中添加需要引入的jar包:
<dependency>
    <groupId>com.hangge.util</groupId>
嵌入式 Servlet 容器的应用打成为可执行的 jar ,优点是 简单、便携;缺点是 不支持 JSP、优化定制比较复杂(使用定制器、全局配置文件修改)
	Spring Boot 提供程序员可以使用外置的 Servlet 容器,本文以外置的 Tomcat 服务器为例,此时应用要打成为...
                                    问题描述:在对mvc工程打时,尝试了很多办法,比如打war放入tomcat服务器跑,但是可能是因为项目本身使用的是jetty服务器,因此会报出一些莫名其妙的错误🤷‍♀️。然后尝试下载jetty服务器,将打好的war放入jetty运行,可是可能因为不熟悉jetty,运行好像没问题,但是测试不出结果🤷‍♀️。后来尝试打可执行jar,在网上找了打fat jar的方法,但是实际测试的时候问题也是层出不穷🤷‍♀️。。。我的解决方法。...
                                    &amp;amp;amp;amp;lt;project xmlns=&amp;amp;amp;quot;http://maven.apache.org/POM/4.0.0&amp;amp;amp;quot; xmlns:xsi=&amp;amp;amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;amp;amp;quot;
	xsi:schemaLocation=&amp;amp;amp;quot;h
                                    解决方法:到maven本地仓库中找到对应的依赖版本,比如我的在D:\maven\apache-maven-3.8.1\localRepository\org\springframework\boot\spring-boot-maven-plugin。然后用2.7.8替代掉2.1.1RELEASE即可。maven-war-plugin同理。
                                    Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。Spring Boot Maven plugin能够将Spring Boot应用打为可执行的jarwar文件,然后以通常的方式运行Spring Boot应用。Spring ...
                                    在做一个语音系统时遇到了问题:将外部的语音jar包,按照idea传统的方式添加jar包,但是却没有添加到项目编译的war中。然后项目启动之后,一直报错———Caused by: java.lang.NoClassDefFoundError: Lcom/iflytek/mt_scylla/mt_scylla;。下面就演示下我自己怎么解决这个问题的。
1.项目下创建libs的文件夹,将相应需要导入的...