繁体   English   中英

同时使用Maven Jar插件和Spring引导maven插件

[英]Use Maven Jar plugin and Spring boot maven plugin simultaneously

我正在尝试使用 spring 引导 maven 插件和来自同一项目和 pom 文件的测试自动化框架 jar 为我的 spring 引导服务器创建 jar。 要读取外部资源,我试图在 maven jar 插件中定义清单条目,但这导致 spring 服务器在使用 /etc/init.d/my-jar start 作为 linux 服务运行时无法在其默认位置找到 application.properties。

这是我的 pom 文件的片段

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.5.3</version>
  <configuration>
    <descriptors>
      <descriptor>src/assembly/dep.xml</descriptor>
    </descriptors>
    <archive>
      <manifest>
        <mainClass>com.myorg.mainclass</mainClass>
      </manifest>
    </archive>
  </configuration>
  <executions>
    <execution>
      <id>make-assembly</id>
      <goals>
        <goal>single</goal>
      </goals>
    </execution>
  </executions>
</plugin>
<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>springloaded</artifactId>
      <version>1.2.5.RELEASE</version>
    </dependency>
  </dependencies>

</plugin>
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>3.2.2</version>
  <configuration>
    <finalName>${project.artifactId}-${project.version}-main-only</finalName>
    <archive>
      <manifest>
        <mainClass>com.myorg.mainclass</mainClass>
      </manifest>
      <manifestEntries>
        <Class-Path>./config/</Class-Path>
      </manifestEntries>
    </archive>
    <excludes>
      <exclude>**/application-test.properties</exclude>
    </excludes>
  </configuration>
  <executions>
    <execution>
      <phase>verify</phase>
      <goals>
        <goal>test-jar</goal>
      </goals>
    </execution>
  </executions>
</plugin>

我已经尝试更改我的 maven 程序集和 jar 插件的阶段来验证,但问题仍然存在。 删除清单条目似乎有效,但我的外部资源文件未被读取。

为了解决这个问题,我从 maven jar 插件中删除了清单条目,然后在运行测试 jar 时将外部资源目录路径添加到类路径中,如下所示:

java -classpath my/external/resource/directory/path -jar my-tests.jar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM