簡體   English   中英

如何在 Jenkins 的類路徑中使用一組 jar 文件

[英]How to use a set of jar files in classpath in Jenkins

如何使這成為可能?

我有一組要包含在 CLASSPATH 變量中的 jar 文件。

我不想將命令SET CLASSPATH=xxx.jar;xx.jar;..作為構建步驟的一部分。

我不想手動設置環境變量 CLASSPATH 作為系統屬性的一部分。

我嘗試將一組 jar 文件復制到Jenkins_HOME/war/WEB-INF/lib並啟動了 Jenkins 服務器。 但不能讓它成為可能......任何解決方案?

您可以嘗試通過附加的類路徑元素 maven。 您可以在以下鏈接中查看詳細信息https://maven.apache.org/surefire/maven-surefire-plugin/examples/configuring-classpath.html

<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.1</version>
    <configuration>
      <additionalClasspathElements>
        <additionalClasspathElement>path/to/additional/resources</additionalClasspathElement>
        <additionalClasspathElement>path/to/additional/jar</additionalClasspathElement>
        <additionalClasspathElement>path/to/csv/jar1, path/to/csv/jar2</additionalClasspathElement>
      </additionalClasspathElements>
    </configuration>
  </plugin>
</plugins>

如下設置 CLASSPATH 環境,任何 jar 文件都會更新它的特定目錄

SET CLASSPATH= <your_lib_directory>\\*

這將選取所有更新的 JAR 文件

我認為你讓自己變得比需要的更難。 為什么不想將類路徑設置為預構建步驟? 也許是因為文物定期更換?

我的建議是您考慮使用Maven進行構建並將您的 Jenkins 作業轉換為 Maven 作業 - 然后您可以在 POM 中而不是在 Jenkins 中處理您的額外依賴項 - 這可能更優雅一些。

例如,您的 JUnit 和 Selenium 依賴項可以包含為

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.9</version>
        <scope>test</scope>
    </dependency>
    ... etc

<scope>對於將它們排除在最終工件之外很重要)並且在 Jenkins 作業配置中,“目標和選項”可以是test package

希望有幫助。

干杯,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM