Page History
...
- The directory
sos
has to be created - The following .jar files have to be copied from a JS7 Agent installation's
./lib/sos
directory to thesos
directory of the Maven project. The example makes use of release 2.6.1, users should check for a current release.com.sos-berlin.js7.engine.js7-base-<version>.jar
com.sos-berlin.js7.engine.js7-data-for-java-<version>.jar
com.sos-berlin.js7.engine.js7-launcher-for-java-<version>.jar
Note: Since release 2.6.4, the three jar files mentioned above have been combined into one jar file
com.sos-berlin.js7.engine.js7-engine-2.6.4
sos-commons-exception-<version>.jar
sos-commons-util-<version>.jar
sos-js7-job-<version>.jar
- The following
pom.xml
file can be used as a base in the Maven project for release < 2.6.4.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.sos-berlin</groupId> <artifactId>js7jobs</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <!-- release version of js7 jars --> <sos.js7.version>2.5.5</sos.js7.version> <!-- 3rd party versions --> <scala.library.version>2.13.11</scala.library.version> <slf4j.version>1.7.36</slf4j.version> <io.vavr.version>0.10.4</io.vavr.version> <!-- groupId and artifactIds of js7 jars --> <sos.js7.groupId>com.sos-berlin</sos.js7.groupId> <sos.js7.job.artifactId>sos-js7-job</sos.js7.job.artifactId> <sos.js7.commons.util.artifactId>sos-commons-util</sos.js7.commons.util.artifactId> <sos.js7.commons.exception.artifactId>sos-commons-exception</sos.js7.commons.exception.artifactId> <sos.js7.commons.httpclient.artifactId>sos-commons-httpclient</sos.js7.commons.httpclient.artifactId> <sos.js7.engine.groupId>com.sos-berlin.js7.engine</sos.js7.engine.groupId> <sos.js7.launcher.artifactId>js7-launcher-for-java</sos.js7.launcher.artifactId> <sos.js7.data-for-java.artifactId>js7-data-for-java</sos.js7.data-for-java.artifactId> <sos.js7.base.artifactId>js7-base</sos.js7.base.artifactId> <!-- directories with js7 jars to install the local project repository --> <sos.js7.external.srcdir>${project.basedir}/sos</sos.js7.external.srcdir> </properties> <repositories> <!-- public repository for 3rd party jars --> <repository> <id>central</id> <name>Central Repository</name> <url>https://repo1.maven.org/maven2</url> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories> <dependencies> <dependency> <groupId>${sos.js7.engine.groupId}</groupId> <artifactId>${sos.js7.launcher.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${sos.js7.engine.groupId}</groupId> <artifactId>${sos.js7.data-for-java.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${sos.js7.engine.groupId}</groupId> <artifactId>${sos.js7.base.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.job.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.util.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.exception.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <!-- Example for a custom dependency --> <dependency> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.httpclient.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <!-- 3rd Party --> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.library.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>io.vavr</groupId> <artifactId>vavr</artifactId> <version>${io.vavr.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> <scope>provided</scope> </dependency> </dependencies> <profiles> <profile> <id>create-local-repo</id> <build> <plugins> <plugin> <artifactId>maven-install-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>install-${sos.js7.launcher.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.engine.groupId}.${sos.js7.launcher.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.engine.groupId}</groupId> <artifactId>${sos.js7.launcher.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.data-for-java.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.engine.groupId}.${sos.js7.data-for-java.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.engine.groupId}</groupId> <artifactId>${sos.js7.data-for-java.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.base.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.engine.groupId}.${sos.js7.base.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.engine.groupId}</groupId> <artifactId>${sos.js7.base.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.job.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.job.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.job.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.commons.util.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.commons.util.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.util.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.commons.httpclient.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.commons.httpclient.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.httpclient.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.commons.exception.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.commons.exception.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.exception.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <localRepositoryPath>${sos.js7.local.repodir}</localRepositoryPath> <generatePom>true</generatePom> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.1</version> <configuration> <source>1.8</source> <target>1.8</target> <optimize>true</optimize> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> </configuration> </plugin> </plugins> </pluginManagement> </build> </project> |
- The following
pom.xml
file can be used as a base in the Maven project for release since 2.6.4.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>ur</groupId> <artifactId>js7</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <!-- release version of js7 jars --> <sos.js7.version>2.6.4</sos.js7.version> <!-- 3rd party versions --> <scala.library.version>2.13.11</scala.library.version> <slf4j.version>1.7.36</slf4j.version> <io.vavr.version>0.10.4</io.vavr.version> <!-- groupId and artifactIds of js7 jars --> <sos.js7.groupId>com.sos-berlin</sos.js7.groupId> <sos.js7.job.artifactId>sos-js7-job</sos.js7.job.artifactId> <sos.js7.commons.util.artifactId>sos-commons-util</sos.js7.commons.util.artifactId> <sos.js7.commons.exception.artifactId>sos-commons-exception</sos.js7.commons.exception.artifactId> <sos.js7.commons.httpclient.artifactId>sos-commons-httpclient</sos.js7.commons.httpclient.artifactId> <sos.js7.engine.groupId>com.sos-berlin.js7.engine</sos.js7.engine.groupId> <sos.js7.js7-engine.artifactId>js7-engine</sos.js7.js7-engine.artifactId> <!-- directories with js7 jars to install the local project repository --> <sos.js7.external.srcdir>${project.basedir}/sos</sos.js7.external.srcdir> </properties> <repositories> <!-- public repository for 3rd party jars --> <repository> <id>central</id> <name>Central Repository</name> <url>https://repo1.maven.org/maven2</url> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories> <dependencies> <dependency> <groupId>${sos.js7.engine.groupId}</groupId> <artifactId>${sos.js7.js7-engine.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.job.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.util.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.exception.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <!-- Example for a custom dependency --> <dependency> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.httpclient.artifactId}</artifactId> <version>${sos.js7.version}</version> <scope>provided</scope> </dependency> <!-- 3rd Party --> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.library.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>io.vavr</groupId> <artifactId>vavr</artifactId> <version>${io.vavr.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> <scope>provided</scope> </dependency> </dependencies> <profiles> <profile> <id>create-local-repo</id> <build> <plugins> <plugin> <artifactId>maven-install-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>install-${sos.js7.js7-engine.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.engine.groupId}.${sos.js7.js7-engine.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.engine.groupId}</groupId> <artifactId>${sos.js7.js7-engine.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.job.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.job.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.job.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.commons.util.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.commons.util.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.util.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.commons.httpclient.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.commons.httpclient.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.httpclient.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> </execution> <execution> <id>install-${sos.js7.commons.exception.artifactId}</id> <goals> <goal>install-file</goal> </goals> <phase>initialize</phase> <configuration> <file>${sos.js7.external.srcdir}/${sos.js7.commons.exception.artifactId}-${sos.js7.version}.jar</file> <groupId>${sos.js7.groupId}</groupId> <artifactId>${sos.js7.commons.exception.artifactId}</artifactId> <version>${sos.js7.version}</version> <packaging>jar</packaging> <localRepositoryPath>${sos.js7.local.repodir}</localRepositoryPath> <generatePom>true</generatePom> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.1</version> <configuration> <source>1.8</source> <target>1.8</target> <optimize>true</optimize> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> </configuration> </plugin> </plugins> </pluginManagement> </build> </project> |
groupId
,artifactId
andversion
should be adjusted.The
pom.xml
file contains a profilecreate-local-repo
that must be executed once after copying the jar files. It updates the users local.m2
repository with the jars from thesos
folder. The dependencies to the .jar files are in scope provided as these jars are needed at compile time, but are already present in the agent environment.Code Block language powershell > mvn initialize -Pcreate-local-repo -U
...
Overview
Content Tools