Spring-boot 加载外部 jar 的测试(相当于 loader.path)
Spring-boot Test to load external jars (equivalent of loader.path)
我们有一个应用程序对外部 jar 具有 运行 时间依赖性(例如 Spring-boot 中的 Talend 作业 运行ning)。现在我们可以使用 -Dloader.path 参数从 Spring-Boot 启动它。但是,我们无法使用外部 lib 文件夹 运行 集成测试(即从 Spring-Boot Test 启动 Talend 作业)。是否可以使用类似的选项来加载外部作业以使用 Spring 启动测试进行集成测试?
我整理好了。
Intellij -> Select 模块 -> 打开模块设置 -> 依赖 -> 添加依赖 -> select 外部 jar -> 仅测试范围。
这样它可以很好地用于测试用例,同时不会在实际的主代码中使用。
罐子放在哪里?
考虑到它将在测试用例中使用,我建议在添加依赖项时在 src/test/lib 和 select 这条路径中提交 jar。
Intellij 生成 .iml 文件(它有一个依赖项列表)如果你在你的 repo 中提交相同的文件,那么其他团队成员可以轻松使用而无需任何进一步设置。
现在问题仍然存在 linux env 或 CIT 环境。我想我们可以通过 CLASSPATH 环境变量添加这个 jar,然后启动任何 CIT 作业。
解决方案的混合,但它对我来说按预期工作。
另一种解决方案:
在本地 repo 中安装外部 jar,并在 pom.xml 中添加具有测试范围的依赖项。这是一个简单的选择。
正在本地仓库安装 jar :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.0.0-M1</version>
<executions>
<execution>
<id>install-jar</id>
<phase>initialize</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${project.basedir}/src/test/lib/somejar-1.0.jar</file>
<groupId>com.beta.gamma</groupId>
<artifactId>somejar</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
</configuration>
</execution>
<executions>
</plugin>
现在可以像其他依赖项一样添加为依赖项。这将适用于环境。
我们有一个应用程序对外部 jar 具有 运行 时间依赖性(例如 Spring-boot 中的 Talend 作业 运行ning)。现在我们可以使用 -Dloader.path 参数从 Spring-Boot 启动它。但是,我们无法使用外部 lib 文件夹 运行 集成测试(即从 Spring-Boot Test 启动 Talend 作业)。是否可以使用类似的选项来加载外部作业以使用 Spring 启动测试进行集成测试?
我整理好了。
Intellij -> Select 模块 -> 打开模块设置 -> 依赖 -> 添加依赖 -> select 外部 jar -> 仅测试范围。
这样它可以很好地用于测试用例,同时不会在实际的主代码中使用。
罐子放在哪里?
考虑到它将在测试用例中使用,我建议在添加依赖项时在 src/test/lib 和 select 这条路径中提交 jar。
Intellij 生成 .iml 文件(它有一个依赖项列表)如果你在你的 repo 中提交相同的文件,那么其他团队成员可以轻松使用而无需任何进一步设置。
现在问题仍然存在 linux env 或 CIT 环境。我想我们可以通过 CLASSPATH 环境变量添加这个 jar,然后启动任何 CIT 作业。
解决方案的混合,但它对我来说按预期工作。
另一种解决方案: 在本地 repo 中安装外部 jar,并在 pom.xml 中添加具有测试范围的依赖项。这是一个简单的选择。
正在本地仓库安装 jar :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.0.0-M1</version>
<executions>
<execution>
<id>install-jar</id>
<phase>initialize</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${project.basedir}/src/test/lib/somejar-1.0.jar</file>
<groupId>com.beta.gamma</groupId>
<artifactId>somejar</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
</configuration>
</execution>
<executions>
</plugin>
现在可以像其他依赖项一样添加为依赖项。这将适用于环境。