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.Code Block language xml title pom.xml collapse true <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>
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